在cPanel中创建自定义PHP错误页面,而不将它们重定向到抛出错误的页面
我试图使我的web服务器具有自定义的错误文档/页面,但中包含在cPanel中创建自定义PHP错误页面,而不将它们重定向到抛出错误的页面,php,apache,.htaccess,cpanel,custom-error-pages,Php,Apache,.htaccess,Cpanel,Custom Error Pages,我试图使我的web服务器具有自定义的错误文档/页面,但中包含PHP代码,而不将它们重定向到抛出错误的页面 假设我们正在导航到http://website.com/pages/1然后抛出错误500,默认情况下,页面将是一个空白的白色页面,文本为“error 500(内部服务器错误)”,类似于: 从上面可以看到,它没有从抛出错误的页面重定向。我希望这个页面看起来是“网站的一部分”,但其中包含PHP内容 我无法通过编辑您在下面看到的页面,将PHP内容包含在cPanel中的错误页面中: 如果我要编辑
PHP
代码,而不将它们重定向到抛出错误的页面
假设我们正在导航到http://website.com/pages/1
然后抛出错误500,默认情况下,页面将是一个空白的白色页面,文本为“error 500(内部服务器错误)
”,类似于:
从上面可以看到,它没有从抛出错误的页面重定向。我希望这个页面看起来是“网站的一部分”,但其中包含PHP内容
我无法通过编辑您在下面看到的页面,将PHP内容包含在cPanel中的错误页面中:
如果我要编辑上面的错误500页,而下面的内容是http://website.com/pages/1
将重定向到http://website.com/500.shtml
然后再重定向到http://website.com/500.php
我不想让它重定向,否则这意味着刷新页面实际上只会刷新500.php页面,而不是刷新/pages/1
<script language="javascript">
window.location.href = "http://www.website.com/500.php"
</script>
<meta http-equiv="refresh" content="0;URL='http://website.com/500.php'" />
当前结果:重定向到/500.php
预期结果:在不重定向的情况下显示500.php in/on
我怎样才能拥有包含php内容的自定义错误页面,而不使其重定向到抛出错误的页面?
是否有一种方法可以通过root来执行此操作(我是否可以让我的主机执行某些操作,如果是,又是什么?如果在.htaccess文件中添加类似的内容,它应该只显示错误页面而不重定向。我从来没有像你在错误页面示例中那样使用过绝对路径,所以我不确定它会导致什么样的行为
ErrorDocument 404 /404.php
正如其他人回答的那样,这应该是可行的:
ErrorDocument 500 /500.php
如果您没有指定完整的URL,它只会显示页面(内部重定向),如果您指定了完整的URL,那么它会将重定向发送回客户端。这正如Apache在这里所描述的:
请注意,当您指定指向远程文件的ErrorDocument时
URL(即前面有http等方法的任何内容),Apache
HTTP服务器将向客户端发送一个重定向,告诉它到哪里
查找文档,即使文档最终位于同一位置
服务器
上述情况不适用于您,这意味着以下几点之一:
另外,您是否尝试过一个普通的500.html文件,只是为了看看它是否可以在不重定向的情况下工作?理论上,一个500.php文件也应该可以,但缩小范围会很有趣(还将显示对500.html的更改是否被拾取并使用,或者它是否仍然指向500.php,这可能会显示这是从其他配置中拾取的,而不是您认为的).
ErrorDocument 500/500.php
重定向到website.com/500.php
@Kuya您打算如何使用错误处理程序来处理内部服务器错误,如果发生内部服务器错误,错误处理程序甚至不会总是被正确调用。我已经说过了,但我要再说一遍,生成完整的页面而不是sim卡使用htaccess的ply是foolish@Kuya你不会从一篇文章中挑出一些东西来回答这些部分,你会回答一个问题,这个问题用粗体字写,并且在结尾处有一个问号:我怎样才能拥有带有php内容的自定义错误页面,而不使它从抛出错误的页面重定向出去呢?我的文章显然是关于重定向错误页面的d防止重定向
ErrorDocument 500 /500.php