2013-02-05 113 views
1

我有我的codeigniter网站代码,其中我使用Imagick在php中融合图像。有很多功能可以生成500 HTTP error。我需要一个自定义的500错误页面,我创建一般的浏览器500错误页面。自定义500错误页面在php

我读过,使用ErrorDocument 500 error_doc/500.html.htaccess不会帮助,因为Apache已交给PHP。但我也需要一个通用的解决方案泛网站,它应该自动检查500并显示所需的custon页面。

+2

如果这些HTTP 500错误是由PHP错误引起的,我会建议您实际*修复*或阻止它们而不是制作自定义错误页面。我*不能*相信会有一些PHP函数在执行'header(“HTTP/1.0 500 Internal Server Error”)''。 –

+0

对不起,我没有得到你。尽管我已经修复了这个错误,但我将其作为后备选项加入。 –

+0

@BhumiSinghal,500错误意味着***与脚本错误***。你应该永远不要发布一个有可能向公众发布500的站点,因为这意味着你不会处理你的错误(尽管如果你的服务器爆炸了或者其他什么,*这可能会是500秒,但它*远*更有可能你的服务器在这一点上不会连接到互联网......) – Amelia

回答

1

Codeigniter实际上有一个自定义的500错误页面。如果您发现获得通用的500错误页面,则可能是Apache覆盖了codeiginter 500错误页面。

你可以将其覆盖在.htaccess将其引导到自己的自定义500.html,但随后你会错过任何由codeiginter提供的错误信息:

ErrorDocument 500 /errors/500.html 


你可以还编辑在/application/errors/中找到的codeiginter 500错误页面。我认为这是error_php.php文件。

+0

打电话给?我是否需要知道500错误可能出现在哪里?仅仅添加这个语句就意味着对于那个页面来说,如果发生了500错误,它会自行处理吗? –

+0

对不起,我把它留在了让你意识到Exceptions类,我想这是令人困惑的问题。我已经删除它,只留下答案。 – Jeemusu

+0

不工作!我已将此添加到.htaccess并创建了正确的html文件 –

1

创建一个名为500.shtml的文件,并将其上传到public_html或任何您的根上传目录。使用500.shtml文件创建一个500内部服务器错误自定义页面。