it-swarm-ko.tech

Drupal 6에서 IIS 7에서 이미지 스타일이 생성되지 않음)

다양한 이미지 스타일을 사용하여 이미지를 iPhone (XML 내보내기 문서에서 링크 됨)으로 내보내는 사이트를 개발했습니다. 이것은 Linux/Apache가있는 자체 개발 서버에서 완벽하게 작동했습니다.

이 사이트는 현재 Windows/IIS6을 사용하는 공유 호스팅 환경에서 호스팅됩니다. (예, 이상한; 당신이 생각할 수있는 것은 내 결정이 아닙니다.)

문제는 이제 새로운 이미지 (기존 이미지가 작동)에 대한 image_style URL이 404 오류 페이지로 연결되어 IIS에서 직접 제공한다는 것입니다. 그러나 깨끗한 URL은 기본적으로 제대로 작동했으며 Drupal은 "정상"404 페이지를 표시합니다.

따라서 http://example.org/does_not_exist 와 같은 URL은 Drupal but http : // example.org/sites/default/files/styles/command_image/public/Chrysanthemum_0.jpg 는 IIS 404 페이지를 보여줍니다.

사이트가이 이미지에 공용 파일 시스템을 사용하고 있으며 경로가 정확합니다. 기존 이미지에서는 제대로 작동하며, 서버에 초기 배포하는 동안 나머지 사이트와 함께 업로드했습니다.

당신은 어떤 아이디어가 있습니까?

3
Berdir

알았어.

문제는 두 개의 .htaccess 파일이 있다는 것입니다. 하나는 최상위 수준이며, 대부분의 구성을 포함하고 다른 하나는 사이트/기본/파일에 있으며 보안과 관련이 있으며 (php 파일 및 유사한 실행은 피함) 다음과 같습니다.

SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
Options +FollowSymLinks

이제 차이점은 Apache에서 두 파일이 결합 된 것 같습니다 (sites/default/files 파일은 최상위 파일에서 모든 것을 상속 함). 이는 Apache/IIS .htaccess를 호환 적으로 처리하는 것으로 보이는 ISAPI_Rewrite 모듈에서는 발생하지 않습니다.

최상위 레벨의 컨텐츠를 기존 컨텐츠 아래의 sites/default/files 파일에 직접 복사하여이 문제를 해결했습니다. 또한 올바른 디렉토리에 index.php 파일이 포함되도록 RewriteBase를 변경해야했습니다.

변경된 .htaccess 파일의 헤더는 이제 다음과 같습니다 :

# From the original .htaccess file, do not remove.

SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
Options None
Options +FollowSymLinks

#
# Apache/PHP/Drupal settings:
# (copied from /.htaccess)
#

Content of the top level .htaccess file here comes here...

그리고 내가 바꾼 부분은 이제 다음과 같습니다.

# Modify the RewriteBase if you are using Drupal in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/drupal uncomment and
# modify the following line:
RewriteBase /YOURFOLDERHERE

따라서 하위 디렉토리에 Drupal이 설치된 경우 폴더 이름을 삽입하십시오. 그렇지 않은 경우이 부분을 주석 처리 한 상태로 둘 수 있습니다.

http://www.caspianit.co.uk/imagecache-wrong-path/ (매우 긴) 블로그 게시물 덕분 에이 사실을 알았습니다.

참고 : sites/default/files did 에서 .htaccess 파일을 삭제하면 보안 관련 SetHandler 설정이 제거됩니다. 그러나 이것은 이것이 IIS에 어떤 영향을 미치는지 의심합니다 ...

3
Berdir

파일 시스템에 /sites/default/files/styles/command_image/public/Chrysanthemum_0.jpg가 있습니까? 그렇다면 이미지를 가져 오는 동안 권한 문제가있을 수 있습니다. 그렇지 않으면 이미지를 생성하고 쓰는 동안 권한 문제가있을 수 있습니다. Drupal 로그 페이지에 오류가 있습니까?

1
Jorrit Schippers