apache 是否可以根据标头值为相同的响应代码返回多个 ErrorDocuments?

apache 是否可以根据标头值为相同的响应代码返回多个 ErrorDocuments?

假设我有一个 403 页面,但如果请求标头中有一个自定义值 - 我想返回一个包含更多信息的不同 403。

因此正常的 403 位置可能是 /error_403,而自定义位置可能是 /error_403_x。

您将如何在 Apache 中处理这个问题?

答案1

假设您使用的是 Apache 2.4.x

使用If/Else参数,可以简单实现:

<If "%{HTTP:X-MyRequestHeader} == myvalue">
ErrorDocument 403 /error403_x.html
</If>
<Else>
ErrorDocument 403 /error403.html
</Else>

在这个例子中,它将根据 Header 返回不同的文件"X-MyRequestHeader: myvalue"

相关内容