对于我的网页,我有一个.htaccess文档,它如下所示

<Files .htaccess>
order allow,deny
deny from all
</Files>

ErrorDocument 404 /websites/404/index.php

现在,据我了解,您可以通过添加另一行来进一步包含ErrorDocument。例如
<Files .htaccess>
order allow,deny
deny from all
</Files>

ErrorDocument 404 /websites/404/index.php
ErrorDocument 503 /websites/maintenance/index.php

但是,当我尝试使用下面的代码行为HTTP 451添加页面时,我会重新加载我的页面,得到一个ErrorDocument 451 /websites/451/index.php。后来我发现,这是因为XAMPP不再拾取我的文件夹中的Server error! Error 500文件,错误只能通过删除.htaccessErrorDocument解决。是什么原因造成的,我怎样才能修复它?
注意我也发现这种情况在error 451中也会发生
编辑只是为了包含更多关于我正在使用的软件的信息。我正在使用
xampp控制面板v3.2.2
apache 2.4.17-这是xampp附带的版本

最佳答案

尽管有很多http状态代码(它们是officially maintained by the IANA),但并非所有的web服务器都支持所有这些。从apache 2.4开始,apache不支持状态代码418和451,并将其静默转换为错误500。
Apache2.4中最新添加的受支持状态代码是414和501,以及400的崩溃预防(fromApache 2.4 change log):
核心:支持http 501和414状态代码的自定义错误文档。
PR 57167[爱德华卢]
核心:防止服务器在连接请求无效时崩溃
使用服务器端includes的状态代码400的自定义错误页。
PR 58929[鲁迪格布鲁姆]
参见list of supported HTTP status codes(从apache 2.4.4开始)。
关于remapping of custom status codes to 500 errors,请参阅一个旧的bug(针对2.2)。
请参见previous question regarding a similar problem(但也适用于apache 2.2)。

09-25 17:09