htaccess";"断裂";在包括HTTP 451的自变量之后


htaccess "breaks" upon including an argument for HTTP 451

对于我的网页,我有一个.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

但是,当我尝试使用下面的代码ErrorDocument 451 /websites/451/index.php为HTTP451添加页面并重新加载页面时,我会得到一个Server error! Error 500。后来我发现这是因为XAMPP不再拾取中包含.htaccess文件的文件夹,并且只能通过删除error 451ErrorDocument来解决此错误。造成这种情况的原因是什么?我该如何解决?


注意
我还发现error 418: I'm a teapot和都会发生这种情况


编辑
只是为了包含更多关于我正在使用的软件的信息。我正在使用

  • XAMPP控制面板v3.2.2
  • Apache 2.4.17-这是XAMPP附带的版本

尽管有很多HTTP状态代码(由IANA正式维护(,但并非所有的Web服务器都支持所有这些。从Apache 2.4开始,Apache不支持状态代码418和451,并将其静默地转换为错误500。

Apache 2.4中最新添加的受支持状态代码是414和501,以及400的崩溃预防(来自Apache 2.4更改日志(:

核心:支持HTTP 501和414状态码的自定义ErrorDocuments。PR 57167[陆]

核心:在CONNECT请求无效的情况下防止服务器崩溃使用服务器端的状态代码400的自定义错误页面包括。PR 58929[Ruediger Pluem]

请参阅支持的HTTP状态代码列表(自Apache 2.4.4起(。

请参阅关于将自定义状态代码重新映射为500个错误的旧错误(针对2.2提交(。

请参阅前面关于类似问题的问题(但也适用于Apache 2.2(。

从您的维基百科链接中,它指出:

它(451(于2015年12月18日由IESG批准。[8]于2016年2月发布为RFC 7725。

451状态可能足够新,以至于Apache(或mod_rewrite所依赖的其他供应商(还没有包括对状态代码的支持。例如,有一个June 2016错误报告,其中Red Hat Enterprise - httpd-2.4.6-40看起来仍然打开:https://bugzilla.redhat.com/show_bug.cgi?id=1343582