iis 301转向和网址规范化总结分析

写了网址规范化后,尚奇公司的柳先生建议再深入讨论一下301转向/重定向。下面就谈谈我所了解的301转向在搜索引擎优化方面的应用。

什么是301转向?

301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。

为什么要做网址转向?

除了前面介绍过的网址规范化问题外,还有很多需要做网址转向的情形。比如,为保护版权,你拥有不同TLD的多个域名:

company.com
company.net
company.org
company.com.cn
company.cn
等等。

很自然这些域名全部指向一个网站。如用company.com为主域名,其它域名就可以转向到company.com。

或者你注册了公司全称域名longcompanyname.com,但太长 ,你也注册了缩写域名方便用户记住lcn.com,其中一个做主域名,另一个就可以转向到主域名。

为什么要用301转向?

网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新,等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。

当网页A用301重定向转到网页B时,搜索引擎可以肯定网页A永久的改变位置,或者说实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。好处是,第一,没有网址规范化问题,第二,也很重要的,网页A的PR网页级别会传到网页B。

很多时候其它网站会链接到

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html

而不是你希望的

http://www.domainname.com

这样链接的PR也会传递到所有URL,如果你用301转向把前三个URL转到
http://www.domainname.com
PR也就集中在网页http://www.domainname.com了。

怎样判断网站有网址规范化问题?

英语中有句话,东西没坏就别修理。很多网站没做301转向排名也没影响,那就别动它。

如果你觉得网站排名没有预想的好,可以看看是否有网址规范化问题:

1) 查一下这些URL是否都有差不多的PR值和网页快照:

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
http://www.domainname.com

如果是,那可能有问题。

2)搜一下site:domain.com看是否结果中有多个主页版本。

3)你的网站是否在Google有大量网页被标为“ 补充材料”(Supplemental Result)。一般认为被归为“ 补充材料”是网址规范化问题的征兆。

怎样做301转向

如果你用的是Unix/Linux主机,可以用文件(Unix/Linux中用于目录特定指令如密码,转向,错误处理等的文件)。

比如把/old.htm转到http://www.domain.com/new.htm,可以用这个指令:

redirect 301 /old.htm http://www.domain.com/new.htm

redirect permanent /old.htm http://www.domain.com/new.htm

如果要把所有http://domain.com形式的URL用301重定向转到 http://www.domain.com,包括:

http://domain.com/about.htm
转到 http://www.domain.com/about.htm

http://domain.com/dir/index.htm
转到 http://www.domain.com/dir/index.htm

等等,还要用到mod_rewrite:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

如果你用的是 Windows主机,应该在控制面板做301转向设定。

补充 :在网址规范化评论里回答石头王的问题,可能对大家有帮助:

据我所知,HTML无法做301转向。在HTML里只能做JS或META REFRESH,但不是301转向。HTML一被读取,就已经返回200 OK状态码了。

如果你的页面是ASP或PHP还可以做301转向:

ASP:

<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.domain.com”
>

PHP:

Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.domain.com” );
?>

另外,DOThtaccess文件只是一个普通文字文件,你用Notepad建这个文件,放上指令,存在你帐号的根目录下就行了。不需要修改Apache。

作者: Zac@SEO每天一贴
原载: 中新虚拟主机
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

时间: 2007-11-11

Nginx下301重定向域名的方法小结

linux中nginx 301重定向跳转方法总结,有需要的朋友可参考一下. 第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站 复制代码 代码如下: server { server_naaaaaaame www.aaaaaaa.com ; rewrite ^(.*) http://www.bbbbbbbbbbb.com$1 permaaaaaaanent; } 第二种情况:不是访问aaaaaaa站的全部重定向到指定页面 复制代码 代码如下: server { server_naaaa

asp,asp.net,php,jsp下的301转向代码

使用.htaccess文件来进行301重定向,请见我的另外一篇文章<301重定向,域名更换后跳转到新域名> . 如果空间不支持.htaccess文件,那么我们还可以通过php/asp代码来进行301重定向. 为了将搜索引擎的记录更新到现在的域名上面,做了几个301重定向的东东,给大家分享一下. asp 301转向代码 在 index.asp 或 default.asp 的最顶部加入以下几行: 复制代码 代码如下: <% Response.Status="301 Moved Pe

ASP.NET中的跳转 200, 301, 302转向实现代码

跳转时的HTTP的状态码一般为200,301,302中的一个,下面先列出各状态码出现的情况,然后再解释各状态码有什么不同: 状态码200的跳转: 1. <meta http-equiv="refresh" content="3; URL=default.aspx" /> 2. Server.Transfer("default.aspx"); 3. URLRewrite--严格来说,这个不算是跳转,只是一种URL"欺骗&quo

efang设置出现读取Serv-U路径失败330101的解决方法

读取Serv-U路径失败330101的解决方法 我安装的易方怎么不能设置Serv-U啊? 点设置就出现 读取Serv-U路径失败330101. 谁知道这是怎么会事啊??我安装了Serv-U的...希望知道的告诉我一下 解决方法: 把serv-u的用户数据 存储到注册表里去,不是放在ini文件里

iis下设置301 Redirect 永久重定向的方法

网站建设中,时常会遇到需要网页重定向的情况: 1.网站调整,如改变网页目录结构,网页被移到一个新地址. 2.网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失. 3.注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点. 常用的重定向方式有:  1. 301 redirect 301代表永久性转移(Permanently Move

站长必备的最齐全的301转向代码合集

将SEO工作中所需要的301转向代码进行了整理,收藏并分享,以备查阅. 1.IIS下301设置 Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的 目标URL,并选择"资源的永久重定向". 2.ASP下的301转向代码 复制代码 代码如下: <%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHe

比较详细的win2003 IIS6.0 301重定向带参数的问题解决方法

网站更换域名,把旧域名用301指到新域名来. 从iis中设置url永久转向就可以,看上去很容易,用了一会儿才发现,参数都没有带上. 从微软网站上找到如下说明,果然好使:IIS 301重定向设置 通过本次设置IIS的重定向,感觉还是比较方便的.下面就说一下IIS的重定向方法,因为网站改版是面向目录的迁移的,所以不得不了解以下几个微软的IIS定向参数: 我们在设置URL重定向的时候是可以使用带参数形式URL的,因为毕竟经常面对的URL是很多,要是就那么一两个页面301重定向随便怎么整都可以了. 参数

php 301转向实现代码

301转向定义 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址. 其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等. 网站做转向的方法 网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新,等.302转向可能会有URL规范化问题.其它方

实用301转向到另一域名相应页面的asp代码

前几天,为了增强本站的SEO,着手把另一个域名:www.kanshule.com下的所有页面301转向到www.jb51.net下. 由于本站目前只有一个博客,于是从博客上入手. 思路很简单,获取当前浏览页面的域名,如果是需要转向的域名,再替换域名部分,做为新地址来301转向. 代码如下: 复制代码 代码如下: <% Dim toDomain,fromDomain,curDomain,q,p,url toDomain=www.jb51.net fromDomain="kanshule.co

解析网站301重定向的实现方法,包括iis,apache,asp,php的方法

页面永久性移走(301重定向)是一种非常重要的"自动转向"技术. 首先,给一个工具,是来检测服务器头信息的,简单来说就是看看你的站点的301是否成功了.不要小看这个301,如果被做成了302什么的,你的站可能就要让你欢喜让你忧了. 检测地址:http://www.seoconsultants.com/tools/headers.asp#results 301重定向可促进搜索引擎优化效果 从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法.当网站的域名发生变更后,搜索引擎

301重定向实现方法,及对网站优化的作用

什么是301重定向呢? 301重定向是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址.其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等. 为什么要用301转向? 网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新等.302转向可能会有URL规范化问题.其它方法都是常用的作弊手法

asp.net php asp jsp 301重定向的代码(集合)

1.Linux主机重定向 Godaddy的Liunx主机,Godaddy本身已经支持Apache,所以直接创建一个.htaccess文件就可以了,一般来说,在本地无法创建.htaccess的时候可以先创建一个txt格式文件,上传到根目录的时候再重命名为".htaccess"就可以了.网上很多如何进行 301重定向的教程,无论是整站重定向还是单页重定向.下面就以我的www.jb51.net为例 1.1 无www域名转移到www域名 复制代码 代码如下: RewriteEngine on

linux URL的301重定向代码分析

所以凡是使用linux的主机,我都会定义个301重定向,以利于SEO.昨天照例把htaccess传到服务器上,没想到传上后网站无法访问,一删除就恢复正常.看了很多遍代码,也没发现什么问题. 干脆就重新学习下URL重写方法.规范化URL描述:在有些web服务器上,一个资源会拥有多个URL.在实际应用和发布中应该使用的是规范的URL,其他的则是简写或者只在内部使用.无论用户在请求中使用什么形式的URL,最终看见的都应该是规范的URL.解决方案:对所有不规范的URL执行一个外部HTTP重定向,以改变它

使用ISAPI_Rewrite做简单实用的301重定向

但是对于虚拟主机用户来说,301重定向很难,因为虚拟主机提供商一般不会提供这个设置. 但是对于安装了ISAPI Rewrite的空间,那么301重定向就相对来说变得简单了. 下面我们还是以实例来说明正确使用ISAPI Rewrite做301重定向的方法吧. 1.3版的域名重定向: 复制代码 代码如下: # For ISAPI_Rewrite 1.3 重定向域名 #重定向jb51.cn RewriteCond Host: ^jb51.net$ RewriteRule (.*) http://jb5

IIS7.5下301重定向的设置方法(及伪静态后301重定向出错案例)

一.301重定向实施: 我们网站(www.b.com)原来的域名是a.com,明显差很多,换了域名之后,要做的第一件事自然就是301重定向. 提醒一点:即使你不是换域名,也应该考虑把"b.com"301重定向至"www.b.com". 每个人的环境不一样,因为我们是用云服务器,所以我们实施301重定向相对简单,只要在IIS里直接设置就行了. 但在实施之前,一定要记住:在IIS中为各域名建立独立的站点,做好相应绑定. 比如,你要把"b.com"30

Asp.Net实现404页面与301重定向的方法

本文实例讲述了Asp.Net实现404页面与301重定向的方法.分享给大家供大家参考.具体实现方法如下: 从一种程度来讲301重定向与404页面没什么关系为什么我要拿到一起来讲来,因为都很简单实现,所在我就一起介绍一下了. 如何在 asp.net 中设置404页面的方法记录下来. 下边首先看看之前的设置方法,web.config文件中: 复制代码 代码如下: <configuration>     <system.web>         <customErrors mode

apache+php完美解决301重定向的两种方法

幸好有301重定向能有效解决这样的问题.正如月光博客这篇文章中说的, 301重定向可促进搜索引擎优化效果 从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法.当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响.同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响. 关于301重定向的更多内容,大家不妨Google一下.本文只介绍实现方法啦!

Windows虚拟主机与VPS如何实现301重定向(asp.net)

301重定向这么重要,那么如何实现301重定向呢?卢松松在他的<详解301永久重定向实现方法>一文中介绍了多种实现301重定向的方法,但里面的方法对于使用Windows虚拟主机或是Windows VPS的朋友来说,除了单个页面设置重定向可以用上,IIS 服务器实现整站301重定向的方法却无法应用.因为很多的虚拟主机和VPS的提供商不支持用户去做301重定向.本人遇到了这个问题,非常困扰.搜索了很多的资料,或是在论坛.知名SEO博客询问,得到的建议是:虚拟主机通常没办法做301重定向,建议使用独

php 实现301重定向跳转实例代码

在php中301重定向实现方法很简单我们只要简单的利用header发送301状态代码,然后再用header进行跳转,效果与apache,iis,nginx都是一样的效果哦. 一:更推荐这种方法,因为它可以把http://www.jb51.net原来所有的url都转到http://jb51.net新的地址上 代码如下 <?php $the_host = $_SERVER['HTTP_HOST']; $request_uri = isset($_SERVER['REQUEST_URI']) ? $_

ThinkPHP设置禁止百度等搜索引擎转码(简单实用)

网站在移动端的阅读不可避免的会遇到转码问题,作为国内搜索引擎老大百度,自然要做技术的领头人了,做了百度转码,有些网站经过转码之后达到了想要的结果,但是有些网站经过百度加工后就是不忍直视,很多内容出现了错乱,Joe的网站也出现了一些错位,于是Joe用了Wordpress插件MobilePress,经过一些汉化修改,感觉比百度的转码更适合自己. 方法1.HTTP Response中显式声明,Cache-control:no-transform. 在config.php 文件中加入 'HTTP_CAC