提问人:JezB 提问时间:2/8/2017 最后编辑:JezB 更新时间:5/9/2017 访问量:468
IIS7.5 上 PHP 站点的自定义 500 页
Custom 500 page for PHP site on IIS7.5
问:
我有一个在 Windows 2008 R2 服务器 (IIS7.5) 上运行的 PHP (5.3) 站点,我正在尝试显示自定义 500 页面。
我设置了一个测试页面,它生成了一个致命错误 - 调用未定义的函数 functiondoesnotexist() in...
如果我在脚本中将错误处理设置为:
ini_set('display_errors', 1);
error_reporting(E_ALL);)
我确实在页面上看到错误,但该页面返回 200 个代码。
如果我关闭错误报告,我只会得到一个空白页(根本没有源代码),但状态是 500
但是,它不会显示自定义错误页面 (500.php) - 该页面在直接加载时正常工作。
有谁知道我错过了什么?谢谢
答:
若要在 IIS 下的 PHP 站点中将自定义静态文件显示为 500 错误,请在通过 IIS UI 配置自定义页面后,需要编辑 web.config 文件并找到该部分。在此配置节点中,必须将该属性设置为 fastCGI 使用默认的 IIS 响应,而不是 PHP 使用的 fastCGI 响应。httpErrors
existingResponse
"Replace"
您的 web.config 文件部分应如下所示:
<httpErrors existingResponse="Replace">
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" prefixLanguageFilePath="" path="MyCustom500Errorpage.html" responseMode="File" />
</httpErrors>
请注意根节点中的属性和节点中设置为的属性。responseMode
File
error
该文件位于根文件夹中。如果您使用了任何图像、脚本或.css文件,请确保您使用的是与根文件夹相关的路径(例如:等)。"/Images/MyLogo.png"
IT)
评论