Apache-2.4

是否可以使用 Apache 的 Header 指令設置 Status-Line 標頭?

  • August 22, 2016

我的搜尋變成了空白…我正在嘗試使用以下行將響應的 403 禁止狀態更改為 404 未找到狀態:

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

但是,這沒有任何效果。我懷疑這可能是因為 Apache 實際上沒有使用 Status-Line 標頭,儘管它是 HTTP 規範的一部分。那麼這甚至可能嗎?我正在嘗試使用 Header 指令而不是重寫來完成此操作,因為這似乎是更好的方法。

Header 指令只能用於設置 HTTP 標頭。恐怕來自 HTTP 請求的響應的第一行實際上不是 HTTP 標頭,因此我不能這樣修改。

一種可能的方法(未經測試)是執行以下操作:

錯誤文件 403 /cgi-bin/my-forbidden.cgi

並讓 CGI 設置一個 404 返回碼以及您希望顯示的文本。

否則,您需要在 mod_{perl|lua|etc} 中編寫自己的處理程序。

引用自:https://serverfault.com/questions/798314