我正在GoDaddy服务器上设置用户接受站点。我已经阅读了一堆帖子,做了很多事情,但似乎没有任何效果。在Visual Studio中开发并运行项目时,一切正常。在实时服务器上,我没有获得自定义错误页面。它正在运行IIS 7。
我已经尝试过在web.config中使用httpErrors和CustomErrors使用不同的组合。单独使用两者。我读过,如果您有II7,最好使用httpErrors。以下是两个代码区域。我正在利用一个ID来获取代码和一页来提取所有错误。我也希望对此有所想法。尽管其他文档说您应该使用静态页面来处理错误,但是使用剃刀页面对我来说似乎是一个奇怪的主意,因为您必须在项目外部创建页面,然后将其添加到其中。
最初,我将这些设置作为错误索引,但是更改了它,因为我认为这可能是问题所在。原来不是..
<httpErrors errorMode="Custom"> <remove statusCode="404" subStatusCode="-1"/> <error statusCode="404" path="Error/Index/404" responseMode="ExecuteURL"/> <error statusCode="500" path="Error/Index/500" responseMode="ExecuteURL"/> </httpErrors> <customErrors mode="On" defaultRedirect="~/Error/Oops"> <error statusCode="404" redirect="~/Error/Oops/404"/> <error statusCode="500" redirect="~/Error/Oops/500"/> </customErrors>
控制器很简单
public ActionResult Oops(int id) { Response.StatusCode = id; return View(); }
我还要注意,错误的URL链接是正确的。即使我直接转到自定义错误页面Url,我也会得到404页面,而不是自定义页面。对我来说,如果您有一个提供视图的控制器,并且向其提供了所需的信息,则应该显示它。
编辑-
[此外,当我使用httpError时,也会在页面上显示此错误-由于发生内部服务器错误,因此无法显示该页面。
服务器上是否有需要打开或关闭的东西?
我正在GoDaddy服务器上设置用户接受站点。我已经阅读了一堆帖子,做了很多事情,但似乎没有任何效果。在Visual Studio中开发并运行...
经过一些挖掘,找到了更详细的文档。这是解决我的问题的原因。