Mar*_*cus 5 iis 500-error http-status-code-404 iis-8 iis-8.5
IIS8.5 > 站点 > 我的网站 > 错误页面 > 404
选择“将静态文件中的内容插入到错误响应中”。
取消选中“尝试以客户端语言返回错误文件”。
输入“notfound.html”的路径,我已经验证它在那里。
当我访问一个我知道不存在的页面时,我得到:
The page cannot be displayed because an internal server error has occurred.
Run Code Online (Sandbox Code Playgroud)
为什么我没有获得自定义 404 文件?
我不认为这是一个权限问题,我尝试将“notfound.html”移动到几个地方,其中之一是实际站点 wwwroot 文件夹,它为站点的其余部分提供服务。
产生此错误的原因是在 中检测到绝对路径web.config
。
文件中的节C:\path\to\notfound.html
中不允许使用绝对物理路径(如) 。system.webServer/httpErrors
web.config
现在你有 2 个解决方案:
1.允许ApplicationHost.config
文件中的物理路径
默认情况下该文件位于%SystemRoot%\system32\inetsrv\config
找到该文件并编辑它
搜索栏目<httpErrors ..... >
然后添加指令allowAbsolutePathsWhenDelegated="true"
,如下所示:
<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath" allowAbsolutePathsWhenDelegated="true">
....
....
</httpErrors>
Run Code Online (Sandbox Code Playgroud)
保存文件,应该可以工作!
2.使用相对路径
相对路径意味着您必须将自定义错误页面存储在给定网站的根文件夹中。
然后,前往IIS > Sites > mysite > Error Pages > 404
并像这样设置您的自定义错误页面:
点击OK
,应该可以工作!
编辑 :
但请注意:
404 Not Found
响应200 OK
响应