gpt4 book ai didi

错误 500 的 Apache ErrorDocument 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:22:02 27 4
gpt4 key购买 nike

我知道这可能是重复的,但我有更好的细节。我将 .htaccess 文件设置为显示最常见错误的自定义错误页面:

  # remove .php
RewriteEngine On
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]
#Add custom error pages
ErrorDocument 404 /errors/404
ErrorDocument 403 /errors/403
ErrorDocument 500 /errors/500

当我故意触发错误 500 时,它只是为我提供了默认的 Apache 页面,并且还说:此外,在尝试使用 ErrorDocument 处理请求时遇到了 500 Internal Server Error 错误。我可以通过键入 localhost/errors/500 访问错误页面,所以这不是权限问题。我搜索了很多论坛,但没有找到解决方案。

编辑:错误 500 是由重写引擎的格式错误的请求触发的。如果您键入 example.com/index/,它会尝试转到 /index/.php,这会导致错误 500。

最佳答案

500 Internal Server Error 是一个非常普遍的错误。它表明服务器遇到了严重错误,无法正常处理请求。

这 500 个错误中的许多根本无法用 .htaccess 中定义为“后期”的自定义错误文档捕获。

如果在服务器配置中定义了 ErrorDocument,您就有更好的机会。但即便如此,对于某些错误来说也还不够快。

不过,话虽如此......

...and also says: Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request. I can access the error page by typing localhost/errors/500 so its not with the permissions.

Edit: The error 500 was triggered from a malformed request by the rewrite engine. If you type example.com/index/ it tried to go to /index/.php and that caused error 500

看起来确实尝试提供自定义 (500) 错误文档,但这也遇到了 500 错误。

具体来说,请求 /index/ 会导致重写循环,即。 /index/.php/index/.php.php/index/.php.php.php 等。当服务器达到内部重定向的限制(默认 10)是否会触发 500 错误。

是的,对于重写循环,我也看到了这一点。即使该错误似乎并未干扰 ErrorDocument 的服务;该消息似乎表明确实如此。直接请求错误文档即可。

我想知道(纯属假设)...由于此请求中已达到“内部重定向”限制(由于重写循环),无法提供 ErrorDocument(也由内部重定向提供服务)因为已经达到这个限制了!?因此,出于同样的原因,这会触发 500 错误!严格来说,ErrorDocument 是通过内部子请求(不是内部重定向)提供的,尽管 Apache documentation for the LimitInternalRecursion directive似乎将“内部重定向”和“子请求”组合在一起。

我想不出另一种触发 500 错误的方法,除了在代码中触发它(如下 - 可以正常工作)。代码中的任何(致命)解析错误都会在每个请求上触发 500 错误。

RewriteRule ^foo$ - [R=500]

上面应该像往常一样为您的自定义 500 ErrorDocument 提供服务,ErrorDocument 本身是可以的。

关于错误 500 的 Apache ErrorDocument 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54353420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com