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