Apache-2.4
.htaccess 重定向到另一個文件夾是否會啟動其中的第二個 .htaccess?
在我的 apache 網站上,我有以下重定向:
RewriteCond %{REQUEST_URI} !^/web/ RewriteRule ^(.*)$ /web/$1
它從根目錄重定向到“Web”目錄。
這也會通過
/web/
目錄的 .htaccess 執行嗎?
是的,它確實。(假設
.htaccess
沒有為子目錄禁用覆蓋。)RewriteCond %{REQUEST_URI} !^/web/ RewriteRule ^(.*)$ /web/$1
事實上,如果
.htaccess
子目錄中的文件包含 mod_rewrite 指令,那麼您就不需要該RewriteCond
指令,因為子目錄中的 mod_rewrite 指令將覆蓋父目錄中的指令(預設情況下),從而防止重寫循環。請注意,在您發布的指令中,您缺少一個
L
標誌,因此處理將首先通過目前.htaccess
文件的其餘部分繼續。次要的一點,這嚴格來說是“重寫”,而不是“重定向”。儘管 Apache 文件確實提到了“內部重定向”。“重定向”更常用於指代外部3xx 重定向。