从网上搜索asp.net网站如何自定义404错误页面时,大多数文章都是告诉你在web.config中,找到system.web,配置以下内容即可。
复制代码 代码如下:
<customerrors mode="on" error statuscode="404" redirect="/404.htm" >
</customerrors>
实际上这样做之后,根本就得不到404未找到网页的网页头信息,得到的是302临时重定向的网页头信息。大家可以用 check headers tool 工具查看 http status codes就知道了。
那么如何正确配置asp.net网站的自定义404错误网页呢?
首先制作一个404.aspx页面,然后在web.config文件下的customeerrors中如下配置:
customerrors redirectmode="responserewrite"
error statuscode="404" redirect="~/404.aspx"/
/customerrors
redirectmode有两种属性。
responseredirect是指将用户重定向到该错误页面,并且原始 url 更改为该错误页面的 url。
responserewrite是指将用户定向到错误页面,并且不更改浏览器中的原始 url。
然后再在404.aspx.cs文件中,为page_load事件中加入以下代码:
复制代码 代码如下:
protected void page_load(object sender, eventargs e)
{
response.status = "404 not found";
}
经过这样设置之后,http status code 才会是 404 not found。
2
您可能感兴趣的文章:
- RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'
- DotNetty在window和linux下的性能对比
- .net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp
- WPF简单的分页控件实现
- ASP.NET中实现中文简/繁体自动转换的类
- 前后端分离,https站点无法通过Ajax访问http资源(Mixed Content,The page at 'https://xxx.com' was loaded over HTTPS)
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论