как изменить первый возвращенный заголовок на лету - PullRequest
0 голосов
/ 29 января 2009

я имею в виду HTTP / 1.1 xxx ггггггг

заголовок я могу изменить все остальные с mod_headers но я хочу иметь возможность вернуть статус 200 для 403 страниц ошибок конкретному пользовательскому агенту, который не отображает текст моих 403 страниц {он отображает альтернативную страницу}

просто спрашиваю, знает ли кто-нибудь env-var или имя заголовка, я могу изменить его в apache.conf, чтобы каким-либо образом изменить этот заголовок {как только у меня получится, я смогу сделать его специальным битом, специфичным для агента пользователя

Ответы [ 2 ]

1 голос
/ 29 января 2009

Это не заголовок, это строка состояния.

Ложь о статусе ответов часто может вызвать проблемы, например, при проверке ссылок будет пропущено сообщение о таких ошибках. Вы полагаетесь на человека, который читает 200 страниц и понимает их, но весь смысл компьютерных протоколов в том, что они могут быть понятны и для компьютеров. Вы должны попытаться решить проблему, а не скрывать ее.

Мне кажется, что вы натолкнулись на настойчивость Internet Explorer на "дружественных" страницах с ошибками. Вы можете обойти это, добавив страницу с ошибкой так, чтобы она была больше 512 байт, после чего Internet Explorer отображает страницу с ошибкой вместо своей собственной.

0 голосов
/ 29 января 2009

Вы можете установить php-скрипт для вашей страницы ошибки 403 и изменить заголовок с помощью этого скрипта:

Добавьте следующую строку в ваш файл конфигурации .htaccess или Apache:

ErrorDocument 403 /path/to/your/error/script.php

И следующее в указанном php-файле:

<?php
if($_SERVER['HTTP_USER_AGENT'] == 'FooBot 1.2') {
  header("HTTP/1.0 200 OK");
}
?>

Или сделайте то же самое на предпочитаемом вами языке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...