apache .htaccess|设置错误文档

kqqjbcuj  于 7个月前  发布在  Apache
关注(0)|答案(4)|浏览(75)

我有一个.htaccess文件,我想为大多数4xx和500个HTTP/1.1错误设置ErrorDocuments(大多数不会被使用,但最好做好准备)。
然而,当文件包含以下内容时,它会抛出一个500 Internal Server Error(我试着注解它,它工作了):

ErrorDocument 400 /ErrorHandler/index.php
ErrorDocument 401 /ErrorHandler/index.php
ErrorDocument 402 /ErrorHandler/index.php
ErrorDocument 403 /ErrorHandler/index.php
ErrorDocument 404 /ErrorHandler/index.php
ErrorDocument 405 /ErrorHandler/index.php
ErrorDocument 406 /ErrorHandler/index.php
ErrorDocument 407 /ErrorHandler/index.php
ErrorDocument 408 /ErrorHandler/index.php
ErrorDocument 409 /ErrorHandler/index.php
ErrorDocument 410 /ErrorHandler/index.php
ErrorDocument 411 /ErrorHandler/index.php
ErrorDocument 412 /ErrorHandler/index.php
ErrorDocument 413 /ErrorHandler/index.php
ErrorDocument 414 /ErrorHandler/index.php
ErrorDocument 415 /ErrorHandler/index.php
ErrorDocument 416 /ErrorHandler/index.php
ErrorDocument 417 /ErrorHandler/index.php
ErrorDocument 418 /ErrorHandler/index.php
ErrorDocument 421 /ErrorHandler/index.php
ErrorDocument 422 /ErrorHandler/index.php
ErrorDocument 423 /ErrorHandler/index.php
ErrorDocument 424 /ErrorHandler/index.php
ErrorDocument 426 /ErrorHandler/index.php
ErrorDocument 427 /ErrorHandler/index.php
ErrorDocument 428 /ErrorHandler/index.php
ErrorDocument 429 /ErrorHandler/index.php
ErrorDocument 431 /ErrorHandler/index.php
ErrorDocument 451 /ErrorHandler/index.php
ErrorDocument 500 /ErrorHandler/index.php
ErrorDocument 501 /ErrorHandler/index.php
ErrorDocument 502 /ErrorHandler/index.php
ErrorDocument 503 /ErrorHandler/index.php
ErrorDocument 504 /ErrorHandler/index.php
ErrorDocument 505 /ErrorHandler/index.php
ErrorDocument 506 /ErrorHandler/index.php
ErrorDocument 507 /ErrorHandler/index.php
ErrorDocument 508 /ErrorHandler/index.php
ErrorDocument 510 /ErrorHandler/index.php
ErrorDocument 511 /ErrorHandler/index.php

(我也试过完整的URL)
注意:/ErrorPane是一个文件夹。/ErrorHandler/index.php显示错误消息。

编辑

nuypyhwy

nuypyhwy1#

试着这样做:

ErrorDocument 404 https://www.example.com/notfound.html

使用链接而不是文件夹名称,应该可以正常工作。
编辑;
它必须是绝对路径,例如:

ErrorDocument 404 /404.php
ErrorDocument 405 /405.php
ErrorDocument 406 /406.php
avkwfej4

avkwfej42#

您必须在路径中添加文件名,如文档所述:

ErrorDocument 404 /errors/not_found.html

同时确保文件和文件夹的正确性。

8e2ybdfx

8e2ybdfx3#

我也遇到了同样的问题,我希望我能早点找到这篇文章。问题是狄更斯跟踪,因为我在一个共享主机上,流量是由4个集群中的任何一个随机回答的,其中3个运行Apache 2.4,1个运行Apache 2.2。事实证明,带有四个错误代码428、429、431和451的ErrorDocument指令会破坏Apache 2.2,但在Apache 2.4上是可以的。这似乎没有在文档中解决。

esbemjvw

esbemjvw4#

我认为问题是Apache禁止重定向某些HTTP代码。例如,wiki明确指出他们管理HTTP错误代码418,但通过ErrorDocument重定向它会使服务器崩溃。
到目前为止,我发现:
400、401、402、403、404、405、406、407、408、409、410、411、412、413、414、415、416、417、421、422、423、424、428、429、431、500、501、502、503、504、505、506、507、508、510和511
大家一起努力,并且:
418、419、425、426、427、444、449、450、451、456、495、496、497、498、499和509
一点用都没有。
注意:我使用Apache 2.4,发现这些列表使用了一种非常实验性的方法,这意味着一些“不工作”的列表在某些情况下可能实际上是工作的。

相关问题