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

  一般在II6下,设置自定义404错误页时,只需要在错误页中选择自定义的页面,做自己的404页面即可。但是在IIS7.0及以上时,设置完404错误页后,会发现状态码返回的是500,并且可能会引起页面乱码。查找资料,发现好多资料写的不够详细,不能完美解决问题。特将我的经验分享一下,希望能帮助到大家。

  经过试验,发现有两种方案可用,各有利弊,我使用的是第二种方案。

  方案1:

  1. 在IIS中,找到对应站点,打开“功能视图”-“IIS栏”-“错误页”;

  2. 双击“404”,打开“编辑自定义错误页”对话框;

  3. 选中“在此网站上执行URL”,输入自定义404错误页的URL(注意:此处URL是相对于网站根目录的相对路径,不能使用绝对路径),点击“确定”进行保存;

  

  4. 选中“404”,点击右侧栏中的“编辑功能设置”,打开“编辑自定义错误页”对话框;

  5. 在“错误响应”框中,选中“自定义错误页”,点击“确定”进行保存;

  6. 重启IIS。

  

  优缺点:此种方法优点是设置方便,不需要改动代码,只需要修改参数即可;但缺点是按照此种方法设置之后,服务器404错误时,会直接将自定义页面给返回给客户端,因此状态代码会返回200,不利于搜索引擎SEO优化;

  方案2:

  1. 打开 C:\Windows\System32\inetsrv\config\ 路径下的 applicationHost.config 文件(该文件是设置IIS参数的);

  2. 搜索找到“<httpErrors>” 选项,将该选项的 allowAbsolutePathsWhenDelegated设置为”true”;

  

  3. 在IIS中,找到对应站点,打开“功能视图”-“IIS栏”-“错误页”;

  4. 双击“404”,打开“编辑自定义错误页”对话框;

  5. 选中“将静态文件中的内容插入错误响应中”,选择或输入自定义404错误页的绝对路径(注意:此处路径是使用绝对路径,一定不能使用相对路径,否则会找不到页面),点击“确定”进行保存;

  

  6. 选中“404”,点击右侧栏中的“编辑功能设置”,打开“编辑自定义错误页”对话框;

  7. 在“错误响应”框中,选中“自定义错误页”,点击“确定”进行保存;

  8. 重启IIS。

  优点:设置之后,返回的状态代码依旧是404,不影响搜索引擎SEO优化;

  注意:如果不设置1、2步骤,直接从第3步设置,设置完成之后,返回的状态码为500,且会显示乱码。

时间: 2024-10-03 14:41:53

IIS7.0设置404错误页,返回500状态码的相关文章

网站设置404错误页的经历

设置404错误页的意义我就不说了.主要想记录一下这次设置错误页遇到的问题和解决方法. 第一版:本地测试能跳转到自定义的404页面,上线之后却没能跳转. 因为之前的项目有跳转404页面的例子,所以直接拷贝了一份到现在的项目,代码如下: HomeController public ActionResult Index() { Response.StatusCode = 404; Response.Charset = "utf-8"; return View("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

在服务器上处理请求时出现未知错误。服务器返回的状态码为500

操作方法: 为页面的ScriptManager控件添加EnablePartialRendering="false"的属性  此方法不是直接解决或规避问题的,是为了将详细的页面错误显示出来,以便找到需要修正 的地方,个人觉得这才是正道嘛,不能躲避错误,而应尽量不让错误发生. ---> 找出错误  -- > 修改. <asp:ScriptManager ID="ScriptManager" runat="server" Enable

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

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

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

配置子目录Web.config使其消除继承,iis7.0设置路由

iis7.0设置路由 ,url转向,伪静态 <system.webServer>      <modules runAllManagedModulesForAllRequests="true" />      </system.webServer> 配置子目录Web.config使其消除继承 不用修改根目录的Web.config文件,而是修改子目录的Web.config.假设根目录的Web.config设置了一个名为 BlogEngine的连接字符串

ASP.NET设置404页面返回302HTTP状态码的解决方法

在配置文件中配置404页面如下: .代码如下: <customErrors mode="On" defaultRedirect="404.aspx"> <error statusCode="403" redirect="404.aspx" /> <error statusCode="404" redirect="404.aspx" /> <err

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工具上面"修改":修改-页面