У меня есть сайт в каталоге /aaa/bbb/ccc/index.php
У меня есть htaccess в каждом каталоге "/aaa", другой в "/aaa/bbb", а другой в "/aaa/bbb/ccc".
В htaccess, расположенном в /aaa, у меня есть это
Header set AAA ZZZ
В htaccess, расположенном в /aaa/bbb и /aaa/bbb/ccc, у меня есть это
Header set AAA XXXXXXXX
Когда я открываю веб-сайт с помощью моего браузера, заголовок AAA имеет значение ZZZ. По некоторым причинам другие файлы htaccess не переопределяют значение AAA. Но действительно удивительно, что если я изменю htaccess с /aaa/bbb и /aaa/bbb/ccc на код ниже, заголовок будет переопределен! Зачем?
<FilesMatch "^.*$">
Header set AAA XXXXXXXX
</FilesMatch>
Это похоже на ошибку, и я сообщил об этом сообществу Apache по адресу https://bz.apache.org/bugzilla/show_bug.cgi?id=58789
Header
в подкаталогах .htaccess файлов должны переопределять родительский. Это определенный заголовок или пользовательский заголовок? Можете ли вы просто подтвердить, что директивыHeader
не находятся внутри каких-либо других контейнеров? Поместив эту директиву в контейнер<FilesMatch>
вы, вероятно,<FilesMatch>
порядок выполнения.Files
и контейнерыFilesMatch
обрабатываются поздно в запросе, возможно, после обработки других директив в .htaccess.