Iis 7 web.config自定义httpErrors未重定向&引用;由于发生内部服务器错误,无法显示该页面。”;相反
我试图让自定义错误页面工作,但没有用。这个配置是根据我在网上找到的示例改编的。使用GoDaddy托管的IIS 7.0 下面的代码告诉我“由于发生内部服务器错误,无法显示页面。”而不是重定向Iis 7 web.config自定义httpErrors未重定向&引用;由于发生内部服务器错误,无法显示该页面。”;相反,iis-7,web-config,http-status-code-404,http-error,Iis 7,Web Config,Http Status Code 404,Http Error,我试图让自定义错误页面工作,但没有用。这个配置是根据我在网上找到的示例改编的。使用GoDaddy托管的IIS 7.0 下面的代码告诉我“由于发生内部服务器错误,无法显示页面。”而不是重定向 <configuration> <system.webServer> <httpErrors> <remove statusCode="401" subStatusCode="-1" /> <r
<configuration>
<system.webServer>
<httpErrors>
<remove statusCode="401" subStatusCode="-1" />
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="401" path="http://www.mywebsite.com/error.html" responseMode="Redirect" />
<error statusCode="403" path="http://www.mywebsite.com/error.html" responseMode="Redirect" />
<error statusCode="404" path="http://www.mywebsite.com/error.html" responseMode="Redirect" />
<error statusCode="500" path="http://www.mywebsite.com/error.html" responseMode="Redirect" />
</httpErrors>
</system.webServer>
<system.web>
<customErrors mode="On"/>
</system.web>
</configuration>
此问题有时会发生在共享托管计划上。见最后一篇文章: “您不能在404错误页面之外修改Windows共享主机计划上的HTTP错误页面,这就是您遇到问题的原因” 所以,如果你有这样的东西:
<httpErrors errorMode="Custom" existingResponse="Replace">
<clear />
<error statusCode="400" responseMode="Redirect" path="/Errors/404error.html" />
<error statusCode="403" responseMode="Redirect" path="/Errors/404error.html" />
<error statusCode="404" responseMode="Redirect" path="/Errors/404error.html" />
<error statusCode="500" responseMode="Redirect" path="/Errors/404error.html" />
</httpErrors>
您将收到错误“由于发生内部服务器错误,无法显示页面”。但如果将其更改为:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<error statusCode="404" responseMode="Redirect" path="\Errors\404error.html"/>
</httpErrors>
它会起作用的
关于为什么会在GoDaddy上发生这种情况的完整讨论可以在以下旧论坛帖子中找到:
您的自定义错误可能不起作用还有很多其他问题,但这个问题似乎没有很好的文档记录,所以我想我会将它发布在这里供其他人参考。这个问题有时会发生在共享托管计划上。见最后一篇文章: “您不能在404错误页面之外修改Windows共享主机计划上的HTTP错误页面,这就是您遇到问题的原因” 所以,如果你有这样的东西:
<httpErrors errorMode="Custom" existingResponse="Replace">
<clear />
<error statusCode="400" responseMode="Redirect" path="/Errors/404error.html" />
<error statusCode="403" responseMode="Redirect" path="/Errors/404error.html" />
<error statusCode="404" responseMode="Redirect" path="/Errors/404error.html" />
<error statusCode="500" responseMode="Redirect" path="/Errors/404error.html" />
</httpErrors>
您将收到错误“由于发生内部服务器错误,无法显示页面”。但如果将其更改为:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<error statusCode="404" responseMode="Redirect" path="\Errors\404error.html"/>
</httpErrors>
它会起作用的
关于为什么会在GoDaddy上发生这种情况的完整讨论可以在以下旧论坛帖子中找到:
还有很多其他的问题,为什么你的自定义错误可能不起作用,但是这个问题似乎没有很好的文档记录,所以我想我应该把它发布在这里给其他人