设置404错误页的意义我就不说了。主要想记录一下这次设置错误页遇到的问题和解决方法。
第一版:本地测试能跳转到自定义的404页面,上线之后却没能跳转。
因为之前的项目有跳转404页面的例子,所以直接拷贝了一份到现在的项目,代码如下:
HomeCo错误的英文ntroller
public ActionResult Index() { Response.StatusCode = 404; Response.Charset = "utf-8"; return View("404"); }
Web.config
<customErrors defaultRedirect = "home/error" mode="On"> <error statusCode="404" redirect="/home/error"/> </customErrors>
按照上面的代码书写,本地测试跳转到了自定义的404页,上线之后却是默认的404页。就这样,第一个版本失败了。
第二版:上线之后可以正常跳转至404页面,状态码错误代码101却返回302。
开发中”本地环境可以,生产环境却不行错误的英文“的情况屡见不鲜。后来干脆在阿里云租了一台服务器,这里有个小插曲,我发布了一个测试版本不能正常运行,
原因是这个””。
测试版本跑通之后,发现线上没有跳转自定义404页的原因是没有设置IIS。设置步骤如下图:
1.找到IIS的4跳转代理ip04错误页选项(IIS里还有ASP.NET的.NET错误页,这里最好选IIS的错误页,下面有写原因)
2.打开错误页后,编辑自定义错误页,这里以相当路径设置错误页url(IIS的版本不一样,编辑自定义错误页的窗口也不一样)
设置OK之后,本以为大功告成,却发现根本错误,返回状态码是302,错误历史文化信息“Response.StatusCode = 404″也没强撸过来。
至此,第二个版本还是失败了。
第三版:利错误678用httpErrors设置网站404页跳转(正确版本)
之后了解到customE上线审车流程及费用rrors会以302重定向跳转至自定义错误页,虽然跳转到了自定义错误页,但状态码却不对,并且url都会带参数aspxerrorpath。
http上线审车流程及费用Errors只需要配置一下Web.config即可,配置好之后会自动映射到IIS:
Web.config错误的爱
<httpErrors errorMode="Custom" existingResponse="Replace"> <clear /> <error statusCode="404" path="Error404.html" /> <error statusCode="500" path="Error500.html" /> </httpErrors>
映射之后的IIS
到这自定义404页才算设置正确,用户请求的错误的url会跳转至自定义404页,状态码返回404,并且保持原url。上线吧华彩少年在哪个平台播出
分析:ASP.NET下的.NET错误页和IIS下的错误页有什么区别?
在Web.config中,分别配置<customErrors>和<httpErrors>节点即可完成两者错误页的设置。主要有以下不同点:
1.从定义上,<customErrors>设置ASP.NET应用程序的错误;<httpErrors>是I版本不兼容如何解决IS7.0新增的特性,设置IIS对http请求的错误处理;
2.Visual Studio提供了一个脱离IIS但能执行ASP.NET的环境。想必<customErrors>就是为其准备的;
3.<httpE版本真绫rrors>优先级要高于<c版本英文ustomErrors>。这也是”在本地可以,一上线就不行了”的一个原因。
网站设置404错误页的经历原文链接:https://qipaiyuanmaxiazai.com/12155.html,转载请注明出处~~~
评论0