저녁에서 나는에서 파일을 실행하고 ? 루트 웹/ 은 mod_rewrite를은</p> <p>, Cahe 및 % {DOCUMENT_ROOT} % {REQUEST_URI}
내가 URL을로드
입니다 : 로컬 호스트/사이트/gubbinz/index.php를 요청 = home.html을 내가 파일 ./sites/gubbinz/이 있는지 확인하려면cache/home.html
나는이 다음 사용하여 작업을 얻을 수 있습니다 : 그것은 내가 로컬 호스트에 대한 하나의 규칙을 가지고 살 수있는 의미로
RewriteCond %{QUERY_STRING} ^request=(.*) [NC]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}cache/home.html -f
RewriteRule ^.+$ cache/%1 [QSA,L]
나는 후자를 선호 :
RewriteCond %{QUERY_STRING} ^request=(.*) [NC]
RewriteCond /home/user/Web/sites/gubbinz/cache/home.html -f
RewriteRule ^.+$ cache/%1 [QSA,L]
하지만 좋아하지 . 아무도 내가 잘못 가고 있는지 알 수 있습니까?
N.B. RewriteBase 세트가 없습니다.
RewriteCond %{SCRIPT_FILENAME} ^(.+)\/index.php$ [NC]
RewriteRule .* - [E=PATH:%1]
RewriteCond %{QUERY_STRING} ^request=(.*) [NC]
RewriteCond %{ENV:PATH}/cache/%1.html -f
RewriteRule ^.+$ cache/%1.html [QSA,L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^.+$ index.php?request=$0 [QSA,L]
첫 번째 부분은 요청이 오는 디렉토리의 전체 경로를 가져옵니다
'% {REQUEST_URI}'다음에 슬래시를 넣을 수 있습니까? – Ansari
REQUEST_URI 인쇄 나는 그 페이지에 다른 내부 리디렉션을하고 있기 때문에 /sites/forebears/index.php를 발견했습니다. 위의 두 번째 예제는 그렇게하지 않으면 작동합니다. –
REQUEST_URI가 index.php로 끝나는 것을 알고 있다면 물론 이것은 파일이 아닙니다 :'% {DOCUMENT_ROOT}/sites/forebears/index.phpcache/home.html' – Ansari