Назад | Перейти на главную страницу

mod_rewrite - как мне не выполнить правило, если заголовок не существует?

У меня есть следующий оператор Rewrite:

RewriteCond %{HTTP_X_SOMEHEADER} ^mystring$
RewriteCond %{REMOTE_ADDR} ^111\.222\.111\.222$ 
RewriteRule (.*) /mypage.html     [L]

Я читаю это так:

IF HTTP_X_SOMEHEADER equals "mystring" 
AND  
REMOTE_ADDR equals 111.222.111.222 
THEN  
GOTO mypage.html

Однако я вижу, что если IP-адрес 111.222.111.222, но HTTP-X-SOMEHEADER не существует, тогда правило проходит.

Я бы хотел, чтобы правило проходило только в том случае, если заголовок HTTP-X-SOMEHEADER существует и IP правильный.

Любые идеи?

Я думаю тебе нужно RewriteCond %{HTTP:HTTP_X_SOMEHEADER} для получения произвольного заголовка HTTP, которого нет в списке, приведенном в mod_rewrite документы.

Ваш код соответствует поведению, которое я ожидал от установки, так что происходит еще кое-что. Что в журнале ошибок?