設置我在目錄/aaa/bbb/ccc/index.php頭與Apache在多個htaccess的
一個網站,我對每個目錄「/ AAA」一個htaccess,另一個「/ AAA/BBB」另一個在「/ aaa/bbb/ccc」中。
在位於/ AAA htaccess的我有這個
Header set AAA ZZZ
在位於/ AAA/BBB和/ AAA/BBB/CCC我有這個
Header set AAA XXXXXXXX
當我打開htaccess的使用我的瀏覽器頭部AAA的網站的值爲ZZZ。由於某些原因,其他htaccess文件不覆蓋AAA的值。但真正令人驚訝的是,如果我將htaccess從/ aaa/bbb和/ aaa/bbb/ccc更改爲下面的代碼,則會被忽略!爲什麼?
<FilesMatch "^.*$">
Header set AAA XXXXXXXX
</FilesMatch>
子目錄下的.htaccess文件的'Header'指令_should_覆蓋父。這是一個特定的標題還是_custom_標題?你能否確認'Header'指令不在其他容器內?通過將這個指令放在一個''容器中,你可能會改變執行順序。 'Files'和'FilesMatch'容器在請求後期被處理,可能在處理完.htaccess中的其他指令之後。 –
MrWhite
@ w3d我想你是正確的,但事實並非如此......多個HEADER指令在子目錄上的不同htaccess中不會覆蓋最頂級的htaccess文件。如果我只使用,則只會覆蓋。可以請檢查我在你的後端說什麼,並看到這個奇怪的行爲嗎? –
Samul
就是這樣,我已經在我的開發服務器(Apache 2.2)上仔細檢查過了。在文檔根.htaccess文件和.htaccess文件2子目錄中使用指令'Header set X-Test'。子目錄中的.htaccess文件_應該覆蓋父級和「set」行爲_should_「替換任何以前的標題」 - 因此我體驗到的行爲似乎與文檔一致。所以我想知道你的系統有什麼不同? –
MrWhite