Apache 错误状态消息403至423
当拒绝htaccess中的某人时,我如何将默认的Apache 错误状态消息403至423,apache,.htaccess,Apache,.htaccess,当拒绝htaccess中的某人时,我如何将默认的403禁止改为423锁定 例如,通常当您在htaccess中使用deny from时,apache会出现403禁止的错误。 是否有一种方法可以设置实际提供的错误消息来代替403禁止的? 我还没有尝试过这一点,但我认为在htaccess中定义自定义错误消息可能会起作用, 例如, ErrorDocument 403 /path/423.shtml 但有些事情告诉我,默认情况下,我的服务器将克服这一点,并且仍然使用403错误 不,我没有shell访问权
403禁止
改为423锁定
例如,通常当您在htaccess中使用deny from
时,apache会出现403禁止的
错误。是否有一种方法可以设置实际提供的错误消息来代替
403禁止的?
我还没有尝试过这一点,但我认为在htaccess中定义自定义错误消息可能会起作用,
例如,
ErrorDocument 403 /path/423.shtml
但有些事情告诉我,默认情况下,我的服务器将克服这一点,并且仍然使用403错误
不,我没有shell访问权限或apache安装文件的访问权限
谢谢。很接近了,但是您需要一个脚本或其他东西来设置标题响应。单独使用错误文档
仍会导致服务器返回403禁止,即使返回的内容是/path/423.shtml中的内容。您可以使用php或其他方法来覆盖它。因此,使用错误文档:
ErrorDocument 403 /path/423.php
然后在423.php
文件中:
<?php
header("HTTP/1.1 423 Locked");
// whatever other content you want returned
?>
如果你想做“纯”(没有PHP或Perl代码),你需要使用mod_rewrite并使用[R=XXX],这意味着重定向,XXX是你想要使用的代码,请参阅:,如果我假设正确,在你的示例中,我将使用一个PHP文件作为错误页,而不是我的shtml页。我在shtml页面中使用了其他代码,我怀疑这些代码是否能在php文件中正常工作。比如显示用户ip地址和浏览器信息的变量以及元刷新重定向。所以我不确定php文件是否是一个好主意。@fz有两种方法,可以将php包含在shtml中,或者让php脚本加载shtml。请参阅:或者使用问题中我的示例中的[R=XXX]
,我将如何让它与[R=423,L]一起工作
因此它会从默认的403
重定向到新的423
对不起,我不是一个代码大师。@fuz mod_rewrite可以使用R
标志向响应代码发送特定的请求,但它不能截获已经发出的403响应并对其进行更改(可以是403,因为任何原因,比如不能查看目录索引)。@Jon Lin,谢谢,R标志可以用于任何参考吗?或者只是系统错误消息。我有一些自定义错误页面,比如bots.shtml
,spam.shtml
。会[R=bots]
或者[R=spam]
与正常错误状态的工作方式相同?@TheFuz如果您想加载“bots”,那么重写规则^some pattern$/bots.html[L,R=123]
,其中“123”是响应代码。并非所有模式都能工作,其行为也没有很好的文档记录