头 我可以用mod_headers修改所有其他人 但希望能够将403错误页面的状态200返回给特定的用户代理,该用户代理不显示我的403页面的文本{显示备用页面}
只是询问是否有人知道env-var或头名称我可以在apache.conf中更改以任何方式更改此标头{一旦我有了我可以解决它使用户代理特定位
答案 0 :(得分:1)
这不是标题,而是状态行。
说谎响应的状态通常会导致问题,例如,链接检查程序会错过报告此类错误。你依靠人类阅读200页并理解它,但计算机协议的全部意义在于它们也可以被计算机理解。您应该尝试修复问题而不是隐藏它。
听起来像是你遇到了Internet Explorer对“友好”错误页面的坚持。您可以通过填充错误页面来解决这个问题,使其大于512字节,这会导致Internet Explorer显示错误页面而不是自己的错误页面。
答案 1 :(得分:0)
您可以为403错误页面设置php脚本,并使用该脚本修改标题:
在.htaccess或Apache配置文件中添加如下所示的行:
ErrorDocument 403 /path/to/your/error/script.php
以下所述的php文件:
<?php
if($_SERVER['HTTP_USER_AGENT'] == 'FooBot 1.2') {
header("HTTP/1.0 200 OK");
}
?>
或者用您的首选语言做同样的事情。