
내 Apache 사이트에는 다음과 같은 리디렉션이 있습니다.
RewriteCond %{REQUEST_URI} !^/web/
RewriteRule ^(.*)$ /web/$1
이는 루트 디렉터리에서 "웹" 디렉터리로 리디렉션됩니다.
디렉토리 의 .htaccess를 통해서도 실행됩니까 /web/
?
답변1
네, 그렇습니다. ( .htaccess
하위 디렉터리에 대한 재정의가 비활성화되지 않았다고 가정합니다.)
RewriteCond %{REQUEST_URI} !^/web/ RewriteRule ^(.*)$ /web/$1
실제로 .htaccess
하위 디렉터리의 파일에 mod_rewrite 지시어가 포함되어 있으면 해당 지시어가 필요하지 않습니다 RewriteCond
. 하위 디렉터리의 mod_rewrite 지시어가 기본적으로 상위 디렉터리의 지시어를 재정의하여 다시 쓰기 루프를 방지하기 때문입니다.
게시한 지시문에는 플래그가 누락되어 있으므로 L
먼저 현재 파일의 나머지 부분을 통해 처리가 계속됩니다 .htaccess
.
사소한 점은 "리디렉션"이 아니라 엄밀히 말하면 "다시 작성"입니다. Apache 문서에서는 "내부 리디렉션"을 참조합니다. "리디렉션"은 다음을 가리키는 데 더 일반적으로 사용됩니다.외부3xx 리디렉션.