win2008 r2中IIS7.5及以上设置404错误页面的正确方法

1、进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站。进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站。

2、在IIS右侧选择错误页这项,双击打开。

3、出现错误页设置页面,今天我们这边只说明一下404如何设置,诸如500、503等这里先不考虑。双击404错误页面那项,或选中404那项点击右侧的编辑按钮

4、出现404错误页面设置选项,笔者选择的是第一个方法,输入404静态页面文件的完整路径,点击下方的确定即可。

404文件路径优点与常用环境

一般是直接路径例如:d:\webroot\404.htm或者直接404.htm(系统默认会定位到网站根目录)

这个是比较正确的选择,返回的就是一个404状态的页面,针对于搜索引擎是非常好的,基本上就是没有的路径就是404.

适用于:web网站

404 在此网站上执行 URL 优点与常用环境

这个一般填/404.htm

这个对于搜索引擎就是一个正常的文件,返回是200状态,如果使用了cdn,就算是后来有了文件不到期也不会更新,一直都是这个错误页面

适用于:下载站或需要跳转的页面(404触发事件)

5、完成了上述的操作之后,我们可以在浏览器里输入网站的一个页面的错误地址,测试是否进入设置的404错误页面。笔者测试是没有问题的。

完成了上述的操作之后,我们可以在浏览器里输入网站的一个页面的错误地址,测试是否进入设置的404错误页面。笔者测试是没有问题的。

6、测试能够打开404错误页面,并不代表设置的404错误页面就成功了,从SEO方面说,如果您的网站HTTP状态码是返回200或302,是对SEO很不友好的,我们需要网站的HTTP返回状态码是404。我们可以利用HTTP状态查询工具测试网站的HTTP返回状态码。如下图,网站HTTP状态码成功返回404,404页面设置成功。

7、此刻我们在网站的根目录,会发现多出一个web.config文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
 <httpErrors>
  <remove statusCode="404" subStatusCode="-1" />
  <error statusCode="404" prefixLanguageFilePath="" path="404.htm" responseMode="File" />
 </httpErrors>
 </system.webServer>
</configuration>

如果是 url方式就是如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
 <httpErrors errorMode="DetailedLocalOnly">
<remove statusCode="404" />
<error statusCode="404" path="/404.html" responseMode="ExecuteURL" />
</httpErrors>
 </system.webServer>
</configuration>

如果存在
<httpErrors errorMode="Detailed" />项,而虚拟主机控制面板又可以自定义404,只要把errorMode的值修改为Custom即可。
在这里说明下:
errorMode有三个值,分别为Custom、DetailedLocalOnly、Detailed,意思为对用户与服务器端始终显示自定义页面、只能服务器端显示详细出错信息、对用户与服务器端始终显示详细出错信息。
一般情况下只要选择Custom即可。

下面给大家分享一下404页面设置的正确方式

给网站设置404页面,本是一个很简单而又平常的操作,能增强网站用户体验和满足SEO要求。看似很简单的操作如果不细心检查,往往就容易犯错误。

一句话概括就是:你以为她对你爱得忠诚,其实已经出轨。

设置了404页面但返回200状态码:

网站已经设置了404模板页面,但是返回的HTTP状态码却是200,为什么会这样???

可能你看到这里会觉得很奇怪,“设置了404页面应该返回的HTTP状态码是404才对啊!”是起初我也这么认为,但是不全对。

对网站的危害:

尽管对用户返回了404页面,但是对于搜索引擎而言却是一个正常的页面,这往往是由于错误的服务器端配置而导致返回200状态码,虽然对访问的用户而言,HTTP状态码是“404”还是“200”并没有什么区别,一样是提高了用户体验,但对搜索引擎而言,这则是相当重要的,甚至是致命的。

当搜索引擎蜘蛛在请求某个错误URL地址得到“404”状态回应时,即知道该URL地址已经失效,便不再索引该网页,并向数据中心反馈将该URL地址表示的网页从索引数据库中删除,而当搜索引擎对于这个404页面得到的是“200”状态回应时,则会认为该url地址是有效的,便会去索引,并会将其收录到索引数据库,这样你的所有错误页面对于搜索引擎来说都是不同url地址内容相同的页面,这会导致出现大量重复页面,会大大降低网站质量的评分,甚至直接降权。

所以正确设置的自定义404错误页面,不仅应当能够正确地显示,同时,应该返回“404”错误代码,而不是200或其他的。不仅要告诉用户该页面不存在,也要正确的让搜索引擎知道这是404错误页面而不是一个正常的页面。

原因:

因为在IIS6/7里面有个错误页面设置,其中404设置选项有两个响应操作分别为:文件和URL。这两个操作有什么区别呢?不同的设置会有什么不同效果?

设置404页面

解答

1、当选择响应操作为:在此网站执行URL时。会造成设置了404页面模板,表面看是对的,但实际上是错误的;因为访问不存在的页面返回的HTTP状态码仍然是200。

原因:因为操作执行的是一个URL,IIS服务器只是读取了另外一个存在的URL而已,因为这个URL存在,所以返回的状态码是200。

如果网站刚好出现了很多404页面,但是这时候状态码不对,会给网站造成很大危害。

设置了404页面

但是HTTP状态码是200

而访问该不存在的URL返回404页面(但状态码是200)

2、当选择响应操作为:文件路径(绝对路径)。虽然HTTP状态码是404,但是会造成IIS服务器读取404页面模板失败,也就是说读取不到预设好的404模板页面。

设置404页面

读取404模板失败

HTTP状态码是404

3、正确的设置方法是

设置404页面模板使用相对路径

页面返回的状态码是404

返回的页面模板也是404模板

PS:个人在操作服务器和网站时发现了此问题,并记录分享出来,不对之处,希望指正。

(0)

相关推荐

  • 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.

  • IIS HTTP 错误 404.17 - Not Found 解决方法

    错误提示如下图: 出现这种情况的原因通常是因为先安装了Framework,后安装的IIS: 运行cmd,输入: 复制代码 代码如下: C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i 注:C:\Windows\Microsoft.NET\Framework\V4.0.30319\   是 netframework安装对应的路径: 如下图: 注册成功后,重启一下iis, 理论上应可以解决导致404.17 not found

  • IIS部署asp.net报404错误的解决方法

    1).所建网站->(右键)权限->"ASP.NET计算机帐户"是否已添加. 2).所建网站->(右键)属性->ASP.NET选项卡->版本是否为2.0,不是则修改为2.0; 3).IIS->WEB服务扩展中->ASP.NETV2.0是否被禁止,若为禁止状态则启动; 4).所建网站->(右键)属性->主目录->执行权限是否为:纯脚本;应用程序池是否设置: 5).所建网站->(右键)属性->ASP.NET选项卡->

  • IIS6上配置404页面的图文教程(url+文件)

    首先先说明下消息类型: url 与 文件. 一般情况下如果选择了url那么返回的404页面是200状态(也就是返回给搜索引擎是正常存在的页面),而选择了文件那么才是告诉搜索页引擎没有找到页面,返回的是400页面内容,这样对搜索引擎来税具有较好的友好度,其实我们现在大多数都是使用文件格式. 推荐使用 文件啊 步骤/方法 打开IIS 找到你的网站,点右键,选择属性 选择"自定义错误"标签页,找到404的那一项,点"编辑属性"按钮 在"消息类型"里选&

  • IIS下自定义404页面返回200状态码的严重性及解决方法

    在了解404页面前,先给大家了解一下几个常见的HTTP状态码.* 404 : 请求的网页不存在(不排除日后该链接有效的可能性):* 410 : 请求的网页不存在(永久):* 200 : 服务器成功返回网页* 302 : 网址临时重定向(跳转)* 301 : 网址永久重定向* 403 : 拒绝访问* 500 : 内部错误 当访问一个不存在的页面时会返回404状态码,告诉搜索引擎这个页面不存在或者已经删除.默认情况下没做自定义404页面时,访问一个不存在的页面会如下图所示 出现这样的页面无论是对用户

  • IIS设置404页面图文教程(选择URL还是文件 )

    下面侯庆龙说明放置404页代码一些方方面面,希望大家能用到网站建设当中: <META http-equiv=refresh content="3; url=http://www.iglee.net/">,把其中网址改成你的想要转接的网址.网页即可. 提供一种最实用而且最通用的代码,可以用于html,asp,php中,把这代码加到的与之间即可,代码如下 404页会不会被搜索引擎认为作弊 答案:否,当你网页有少部分消失采用404页跳转,搜索引擎是不会认为作弊的,因为这是符合正常

  • IIS 8.5下设置404错误页图文教程

    问题描述 搭建一个测试网站,总共就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.php 也就是:127.0

  • win8下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.p

  • IIS7.5下的web.config 404配置的一些问题

    本文介绍一个关于IIS环境下web.config配置的经验问题.在IIS7.5中添加配置404页面时遇到了一些问题,记录如下: 一开始在<customError>下的<error>节点配置404不起作用,由于程序运行在IIS7.5集成模式下,经过MSDN和GOOGLE,发现 需要在<system.webServer>节点中配置,我们知道<system.web>节点是iis7.0之前版本的主要配置节点,由于在II7.0以后IIS管 道处理与ASP.NET管道处

  • IIS 7.5 HTTP 错误 404.3 - Not Found错误的解决方法

    iis7.5安装默认是不安装asp/php/jsp支持的 解决办法也很简单 再次安装IIS功能 在 万维网服务-应用程序开发上勾选asp 就万事大吉了... 故障现象: IIS 7.5 下载文件遇到 404.3 404.3可能是由于当前请求的文件的后缀未知造成的.某些不太常用的后缀在IIS中没有设置,而文件的确存在于服务器上,此时如果客户端请求下载该文件,可能会遇到此错误. 可以通过设置IIS上的MIME来解决这个问题. 1. 双击IIS中的MIME Type 2. 单击右侧Action中的Ad

  • win2003 iis 404 设置方法与小技巧

    打开IIS管理器 =>点击要设置自定义404网站的属性=>点击"自定义错误"选项=>选中404页=>选中并打开编辑属性=>按浏览选择你要的404页=>按确定保存退出=>错误页面生效 正常这样是可以的,但有些2003系统的IIS设置就是不行,就可以用到下面的方法: 错误信息 设置成 URL 格式为 /404.htm 把 404.htm 放在网站跟目录下 或者 /文件夹/404.htm 把 404.htm 放在网站/文件夹/目录下

  • IIS发布以后handle文件找不到404错误的解决方法

    昨天碰到一个奇怪问题,开发环境没有问题,发布到IIS7.5以后,保存操作不能成功,跟踪发现,是handle方法找不到,抛错. 想了很多方法,最后把怀疑是GET方式和客户数据引起的问题,改成POST方式以后,问题解决了. 在此,再温习一下GET和POST的区别: 1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字

  • IIS自定义404错误页避免暴露.NET网站路径信息

    再输入非.aspx页面时,显示默认404页面,暴露站点路径信息. 解决办法: 1.自定义错误页(eg:error.htm),放在站点根目录. 2.打开"错误页",右键"编辑",如图: 3."错误页",右键"编辑功能设置",如图: 如果没变化的话重启一下IIS即可.

  • asp.net 利用IIS的404错误将文件重写成目录的简单方法

    例如:http:/www.jb51.net/8888/ 该页面是由http://www.jb51.net/ArticleShow.aspx?id=8888 重写而来. 具体实现方法: 利用IIS的404错误来实现 "HTTP 404 - 未找到文件"可能是大家经常看到并且比较不喜欢的一个错误,可是很好的利用这个错误却可以给 网页设计带来很好的效果,本文就是利用404来实现对文件的重新. 具体步骤: 1.先建立一个页面,比如叫Error.aspx,放在网站根目录,在Error.aspx里

随机推荐