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

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

Заголовок установлен Строка состояния "HTTP / 1.1 404" "expr =% {REQUEST_STATUS } == 403 "

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

2
задан 22 August 2016 в 14:59
1 ответ

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

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

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

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

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

0
ответ дан 3 December 2019 в 14:22

Теги

Похожие вопросы