2011-03-04 11 views
2

나는 내 머리카락을 꺼내고있다 ....htaccess RewriteCond -s (파일 존재)

실제 환경에서 작동하도록 Drupal Boost를 얻으려고한다. 그것은 내 개발 기계에서 작동하지만, 실제로 작동하도록하는 데 문제가 있습니다.

캐시 디렉토리에 정적 html 파일이 있는지 확인하기 위해 .htaccess 다시 쓰기 규칙을 사용합니다.이 규칙을 사용하면이 파일을 사용하여 다시 쓰기 작업을 수행합니다.

나는 핵심 재 작성 규칙하지만 모든 것을 박탈 한, 그래서 좋아하는이 같습니다

RewriteCond %{DOCUMENT_ROOT}/cache/normal/%{SERVER_NAME}%{REQUEST_URI}_%{QUERY_STRING}\.html -s 
RewriteRule .* cache/normal/%{SERVER_NAME}%{REQUEST_URI}_%{QUERY_STRING}\.html [L,T=text/html] 

그것은 (에 비해 내 dev에 환경에 어떻게되는지 확인하는 작업을하지 않는 것으로 재 작성 조건을 살아있는 것). 기본적으로 파일 시스템에 % {DOCUMENT_ROOT}/cache/normal/% {SERVER_NAME} % {REQUEST_URI} _ % {QUERY_STRING} .html이 있는지 확인합니다 (-s 플래그 사용). 아파치에서

는 :

"는 경로 이름과 존재 여부 테스트와 TestString에 취급하고, 0보다 큰 크기의 일반 파일입니다."

나는이 :

  1. 이 파일이
  2. 이 %을 변경 시도 (아파치 확인 파일을 만들었습니다 아파치와 같이이 문제가되지해야하더라도)
  3. 파일 권한을 검사 존재한다는 보장 하드 코드 된 경로의 경우 {DOCUMENT_ROOT} /var/www/vhosts/mywebsite.com/httpdocs/cache/normal/www.mywebsite.com/

누구나 해결 방법을 제안 할 수 있습니까?

Drupal 포럼을 살펴 보았지만 .htaccess 문제가있는 것 같습니다.

-s를 사용한 경험이있는 사람이 있습니까?

답변

1

실제 HTML 파일을 사용할 수 있습니까?

example.com/cache/normal/example.com/_.html

+0

예 내가 할 수는, 지금까지의 내가 파일을 말할 수있는 존재하는 즉, 아파치에서 액세스 할 수 있으며 적절한 권한을가집니다. – JonB

+1

% {SERVER_NAME} 대신 % {HTTP_HOST}을 (를) 사용해보세요. – mikeytown2