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

Можно ли установить заголовок строки состояния с помощью директивы Apache Header?

Мои поиски оказались пустыми ... Я пытаюсь изменить статус 403 Forbidden ответа на статус 404 Not Found с помощью этой строки:

Header set Status-Line "HTTP/1.1 404" "expr=%{REQUEST_STATUS} == 403"

Однако это не имеет никакого эффекта. Я подозреваю, что это может быть из-за того, что на самом деле Apache не использует заголовок строки состояния, хотя он является частью спецификации HTTP. Так возможно ли это вообще? Я пытаюсь сделать это с помощью директивы заголовка, а не переписывать, поскольку это лучший способ сделать это.

Директива Header может использоваться только для установки заголовков HTTP. Боюсь, что первая строка ответа HTTP-запроса на самом деле не является HTTP-заголовком, и поэтому я не могу ее изменить как таковую.

Возможный способ сделать это (не тестировался) - сделать что-то вроде:

ErrorDocument 403 /cgi-bin/my-forbidden.cgi

И пусть этот CGI установит код возврата 404 вместе с текстом, который вы хотите показать.

В противном случае вам нужно было бы написать свой собственный обработчик в mod_ {perl | lua | etc}.