Нужно добавить в условие .htaccess вот так:
if (page == '/admin') {
Header add Test "test"}
Это не работает:
<IfModule mod_headers.c>
<If "%{REQUEST_URI} == '/'">
Header add Test "test"</If>
</IfModule>
Но это работает на всех страницах (логично):
<IfModule mod_headers.c>
Header add Test "test"</IfModule>
Я знаю о env = [!] Varname, но не знаю, как использовать в моем случае ..
Буду рад любой помощи!
Директива
<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 — Ранняя и поздняя обработка
Нормальный режим задерживается, когда заголовки запроса устанавливаются непосредственно перед запуском генератора контента и заголовков ответа, так же как ответ отправляется по проводам. Всегда используйте поздний режим на рабочем сервере.
Таким образом, в зависимости от того, как запросы обрабатываются и изменяются в вашей среде, вы также должны изменить условие <If "%{REQUEST_URI} == '...'">
к тому, что вписывается в вашу среду.
Других решений пока нет …