.htaccess가 다른 폴더로 리디렉션되면 그 안에 있는 두 번째 .htaccess가 활성화됩니까?

.htaccess가 다른 폴더로 리디렉션되면 그 안에 있는 두 번째 .htaccess가 활성화됩니까?

내 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 리디렉션.

관련 정보