директива
<IfModule mod_headers.c>
<If "%{REQUEST_URI} == '/admin'">
Header add Test test
</If>
</IfModule>
правильно и заголовок будет добавлен, если запрос не изменяется вдоль его пути.
Например, если у вас есть
<IfModule mod_headers.c>
<If "%{REQUEST_URI} == '/admin'">
Header add Test test
</If>
</IfModule>
RewriteEngine on
RewriteRule ^admin$ /index.php [L]
заголовок не будет установлен, так как запрос изменен и будет признан /index.php
вместо этого. Для того, чтобы иметь заголовок, установленный на ответ, вы должны изменить его на
<IfModule mod_headers.c>
<If "%{REQUEST_URI} == '/index.php'">
Header add Test test
</If>
</IfModule>
RewriteEngine on
RewriteRule ^admin$ /index.php [L]
Теперь запрос /admin
будет переписан в /index.php
, и REQUEST_URI
переработанного как «/index.php» и заголовок устанавливается непосредственно перед ответ посылается клиенту, см mod_headers - Early and Late Processing
нормальный режим поздно, когда Заголовки запросов устанавливаются непосредственно перед запуском генератора контента и заголовков ответов как ответ посылает вниз провод. Всегда используйте режим Late на рабочем сервере.
Таким образом, в зависимости от того, как запросы обрабатываются и изменяются в вашей среде, необходимо также изменить условия <If "%{REQUEST_URI} == '...'">
к тому, что вписывается в вашей среде.
Я хочу изменить свои заголовки на специальной странице – wagwandude