【问题标题】:500 error custom page won't be displayed500错误自定义页面不会显示
【发布时间】:2015-01-13 20:03:54
【问题描述】:

我是一名前端开发人员,对 htaccess、后端、框架和服务器配置了解不多。 我已经建立了一个原型网站(全部使用 HTML5、CSS、JS 和一个简单的 php 联系表完成)。所有页面都是 .php,因为我使用 php include 来管理网站上的快速更改。 但我的客户希望拥有 404 和 500 个自定义登录页面。

我已将 2 个错误页面的布局 (html/css) 代码放在一起,并进行了一些研究以了解如何触发它们。我创建了一个 .htaccess 文件。代码如下:

Options +Indexes
RemoveHandler .html
RemoveType .html
AddType text/html .html
Satisfy any
Order Deny,Allow
ErrorDocument 500 /500.php
ErrorDocument 404 /404.php

如果在我的 url 中输入 localhost:8888/anywrong-page-name,我会成功获得 404 登录页面。但是当我尝试触发 500 时,我得到的是标准的 500 页面,而不是我的自定义页面。

是否可以仅使用 .htaccess 来显示自定义 500 页面(就像我为 404 所做的那样)或者它是由服务器/后端中的 web_config 触发的?

我想知道在没有后端的情况下是否可能(以及如何)。

【问题讨论】:

  • 你是如何产生 500 错误的?
  • 如何“触发” 500 错误可能是这里最重要的部分。如果你通过在你的 .htaccess 文件中添加一些无效的东西来做到这一点——那么当然,那里的所有其他内容,包括你设置 ErrorDocument 500 的尝试,当然也会被忽略。
  • 我在 index.php 文件的顶部添加了一行 php 代码: 。它确实触发了 500 页,但不是我的自定义页面
  • 有人在这里提出了一个很好的观点:stackoverflow.com/a/12412722/1663306 .. 还有这个评论:我相信 ErrorDocument 500 只有在 apache 将请求交给 PHP 之前出现 500 错误时才会起作用。我可能错了。”

标签: php html .htaccess


【解决方案1】:

在您的 htaccess 文件中:

ErrorDocument 500 /cgi-bin/crash-recover 
ErrorDocument 500 "Sorry, our script crashed. Oh dear" 
ErrorDocument 500 http://xxx/ 

更多信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 2012-11-06
    • 2015-11-18
    • 2013-09-12
    • 1970-01-01
    • 2012-12-25
    相关资源
    最近更新 更多