我的搜索变成了空白...我正在尝试使用以下行将响应的 403 Forbidden 状态更改为 404 Not Found 状态:
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} 中编写自己的处理程序。