网站设置404错误页的经历

  设置404错误页的意义我就不说了。主要想记录一下这次设置错误页遇到的问题和解决方法。

第一版:本地测试能跳转到自定义的404页面,上线之后却没能跳转。

  因为之前的项目有跳转404页面的例子,所以直接拷贝了一份到现在的项目,代码如下:

HomeController

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页面,状态码却返回302。

  开发中"本地环境可以,生产环境却不行"的情况屡见不鲜。后来干脆在阿里云租了一台服务器,这里有个小插曲,我发布了一个测试版本不能正常运行,

原因是这个"HTTP 错误 404.0 - Not-Found"。

  测试版本跑通之后,发现线上没有跳转自定义404页的原因是没有设置IIS。设置步骤如下图:

1.找到IIS的404错误页选项(IIS里还有ASP.NET的.NET错误页,这里最好选IIS的错误页,下面有写原因)

2.打开错误页后,编辑自定义错误页,这里以相当路径设置错误页url(IIS的版本不一样,编辑自定义错误页的窗口也不一样)

设置OK之后,本以为大功告成,却发现根本错误,返回状态码是302,"Response.StatusCode = 404"也没强撸过来。

至此,第二个版本还是失败了。

第三版:利用httpErrors设置网站404页跳转(正确版本)

  之后了解到customErrors会以302重定向跳转至自定义错误页,虽然跳转到了自定义错误页,但状态码却不对,并且url都会带参数aspxerrorpath。

httpErrors只需要配置一下Web.config即可,配置好之后会自动映射到IIS:

Web.config

    <httpErrors errorMode="Custom" existingResponse="Replace">
      <clear />
      <error statusCode="404" path="Error\404.html" />
      <error statusCode="500" path="Error\500.html" />
    </httpErrors>

映射之后的IIS

到这自定义404页才算设置正确,用户请求的错误的url会跳转至自定义404页,状态码返回404,并且保持原url。

时间: 2024-07-31 20:07:33

网站设置404错误页的经历的相关文章

IIS:IIS 8.5下设置404错误页

IIS版本:IIS 8.5 问题描述 搭建一个测试网站,总共就2个页面(index.php和404.php),默认首页为:index.php 当访问index.php和404.php的时候,IIS服务器能正常响应,说明在IIS 8.5中配置PHP环境没有出现问题. 访问index.php 访问404.php 另外,我的错误页配置结果如下: 正常情况下,当访问某个不存在的页面时(比如:127.0.0.1/aaa.php),此时,iis服务器发现aaa.php这个文件并不存在,所以,应该会请求404

IIS7.0设置404错误页,返回500状态码

一般在II6下,设置自定义404错误页时,只需要在错误页中选择自定义的页面,做自己的404页面即可.但是在IIS7.0及以上时,设置完404错误页后,会发现状态码返回的是500,并且可能会引起页面乱码.查找资料,发现好多资料写的不够详细,不能完美解决问题.特将我的经验分享一下,希望能帮助到大家. 经过试验,发现有两种方案可用,各有利弊,我使用的是第二种方案. 方案1: 1. 在IIS中,找到对应站点,打开“功能视图”-“IIS栏”-“错误页”: 2. 双击“404”,打开“编辑自定义错误页”对话

ASP.Net 设置 404错误跳转到指定页面

分享 ASP.Net 网站设置 404错误跳转到指定页面的三种方法 方法一:Web.config 配置 1 首先双击打开项目中的“Web.config”文件  找到 system.web 节点,在 customErrors 节点中添加 mode 为 on,然后把图中“404.html"替换成你需要的文件路径名,如图所示(如果没有此节点,请手 动添加上,代码有智能提示,很方便添加) 重新编译后,即跳转到指定的页面中. 方法二:Global.asax 配置 同样在项目中找到并双击打开“Global.

织梦网站如何设置404错误页面?

首先在网上搜索织梦系统404错误页面的一个网页或者也可以自己编辑,然后在通过网页编辑器编辑一下这个404网页,然后把里面的网址改为自己的网址,佐言用的是 Macromedia Dreamweaver 8工具编辑的,如下图: 第一步.修改404.html网页里面的信息 然后在看一下自己网站的编码格式是什么,然后在通过Macromedia Dreamweaver 8工具修改下载的404.html网页的编码格式.找到Macromedia Dreamweaver 8工具上面"修改":修改-页面

网站出现404错误的解决方法

404 Not Found页面是hk的登录页面 目前,恶意软件传播者.hk以及网络钓鱼欺诈分子仍将 Web Shell 登录表单隐藏在伪造的 HTTP 错误文档当中.这些页面被伪装为 HTTP 错误内容,例如 404 Not Found 或者 Forbidden,但其实际上属于hk的登录页面,攻击者能够借此访问 Web Shell 并在服务器上发出命令. 目前这种状况正持续增加 虽然这种做法并不新鲜,但网络钓鱼专家兼安全研究员 nullcookies 仍然发现这种利用伪造错误页面来隐藏 Web

LNMP设置404错误页面

LNMP即Linux+Nginx+MySQL+PHP的web架构.     1.在网站的根目录touch 文件404.html,内容如下: <html> <body><H1>404 NOT FOUND!</H1></body> </html> 2.chmod 755  404.html chown www:www   404.html 3.修改nginx配置文件nginx.conf: 在http {}区域添加上:fastcgi_int

Apache服务器上设置404错误页面

Apache服务器上设置404错误页面 基于ubuntu 16.04系统,使用 apache 进行设置 配置步骤 添加404页面 在所配置网站的根目录添加编辑好的 404.html 修改localized-error-pages.conf配置文件 localized-error-pages.conf位于 /etc/apache2/conf-enabled目录下 把#ErrorDocument 404 /404.html 去掉# 重启 apache 服务器 /etc/init.d/apache2

如何为你的网站设置404页面(转)

一个好的网站,拥有一个好的 404页面 是标配. 为何要有 404页面?如何设置一个 404页面? why 404 pages? 在本地,比如我打开 localhost/fuck.htm(该文件不存在),HTTP 返回 404 Not Found,同时页面展示如下: 用户体验很差有木有!更重要的是,如果没有 404页面,会影响 SEO. 为什么说会影响 SEO 呢? 当你的网站有些页面地址(路径)改变了.或者内容被删除了,导致原地址访问本页面时,提示页面不存在.比如说你网站改版,也会导致很多原来

Directadmin控制面板如何设置404错误页面设置

为什么要做404页面? 404页面的作用是什么? 对于SEO新手可能并不明白其中因果,只知道要做404,对优化有益处. 下面给大家分析一下为什么要做404页面. 第一,大家通过网络日志可以观察到,搜索引擎爬行.抓取网站链接页面,正常的情况下返回http状态码200,比较常见的还有301.404.50X,如果你没有为你的站点设置404,那么可能会导致大量的错误链接.错误页面仍然返回正常状态却使搜索引擎不能正常索引,严重的话很有可能导致站点降权; 第二,404页面的作用在于引导搜索引擎正常索引,降低