• WAP手机版 RSS订阅 加入收藏  设为首页
服务器教程

301永久重定向的详细解释方法

时间:2013/11/29 23:20:12   作者:新站长   来源:新站长网   阅读:815   评论:0
内容摘要:301永久重定向:这是SEO中的一个基础名词,在URL规范化中会用到,也许大家都知道这个名词,但是由于应用的不是非常频繁,导致很多专业做SEO的朋友都不是很熟悉301永久重定向的具体操作方法,今天我就讲解下301永久重定向的理论,以及实际的操作方法。301永久重定向的概念:网址重...
301永久重定向:这是SEO中的一个基础名词,在URL规范化中会用到,也许大家都知道这个名词,但是由于应用的不是非常频繁,导致很多专业做SEO的朋友都不是很熟悉301永久重定向的具体操作方法,今天我就讲解下301永久重定向的理论,以及实际的操作方法。

301永久重定向的概念:

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

上面那段话是简述了301永久重定向的概念,那为什么要如此重视301永久重定向呢?

原因:301永久重定向是所有的重定向方法中唯一符合搜索引擎规则的重定向方法,其他的重定向还包括302暂时重定向和JS跳转等,这些方式都容易导致URL不规范问题的产生。所以说如果你有多个域名都希望可以让他们访问同一个网站,那就只能将其中一个做为主域名,剩下的其他域名做301永久重定向到这个主域名,只有这样才可以完美的让多个域名都访问一个站点,不会产生重复收录,导致网站被惩罚的现象。

301永久重定向的执行方法:

301永久重定向有几种不同的做法,在windows主机上和Unix/Linux主机是不同的。

一、在windows主机上设置的方法:可以在IIS服务器上设置也可以在代码中设置。

1、在IIS服务器上设置301的方法:

这种设置方法需要有一个先天条件,那就是你有服务器的管理权,你可以直接操作IIS服务器,并且可以随意开通新的虚拟主机,否则你只能用修改网站代码的方法。

首先开通一个新的虚拟主机,将你需要做301永久重定向的域名正常与该空间绑定,这个绑定的方法你可以咨询服务器托管商。

然后打开“控制面板”→找到“管理工具”→打开“Internet 信息服务”。打开后,可以在管理器左侧树形菜单中找到你的网站,然后右击选择“属性”,打开网站的属性管理面板(如下图),并且选择到“主目录”选项卡,选择“重定向到URL”,然后在地址框中输入“主域名”,然后将选项卡中的“资源的永久重定向”选择上,点击确定即可设置完毕。



 

2、在网站代码中设置301的方法:

只需要将以下代码加在网页的开头即可,不过只能用在ASP和PHP文件中,HTML目前无法通过代码设置301。

ASP代码:

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently" Response.AddHeader "Location" , " http://www.xinadmin.net"
>
PHP:
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location:  http://www.xinadmin.com ” );
?>

注:将我的网址替换成你自己的定向后的目标网址即可,所有的标点必须用英文半角。

二、如果你用的是Unix/Linux主机:可以用.htaccess文件。

比如把/old.htm转到/new.htm,可以用这个指令:redirect 301 /old.htm /new.htm。如果要把所有http://xinadmin.com 形式的URL用301重定向转到http://www.xinadmin.com 。包括所有的目录和内页也转向到新域名的相应位置,那就要用到mod_rewrite,书写格式如下:

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

二:

重定向说白了就是通过各种的方法将各种网络请求重新定个方向转到其它位置。
 

如:网页中的重定向
 

域名的重定向
 

路由选择的变化也是对数据报文经由路径的一种重定向
 

在我们的网站淘星建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
 

常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
 

301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
 

302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
 

meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之内),会被判断为spam。
 

301 Redirect实现网页重定向
 

IIS服务器实现301重定向
 

* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键
 

* 选择“重定向到URL”
 

* 在“重定向到”输入框中输入要跳转到的目标网页的URL地址
 

* 选中“资源的永久重定向”(切记)
 

* 最后点击“应用”
 

Apache服务器实现301重定向
 

相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
 

Redirect permanent / http://www.xinadmin.com/ (将目录下内容重定向到http://www.xinadmin.com/ )
 

redirect permanent /index.asp http://www.xinadmin.com/index.html(将网页index.asp重定向到http://www.xinadmin.com/index.html)
 

通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考本站Apache手册。
 

PHP下的301重定向
 

 

Header( "HTTP/1.1 301 Moved Permanently" ) ;
 

Header( "Location: http://www.xinadmin.com" );
 

?
 

ASP下的301重定向
 

<%@ Language=VBScript %>
 

<%
 

Response.Status="301 Moved Permanently"
 

Response.AddHeader "Location","http://www.xinadmin.com"
 

%>
 

ASP .NET下的301重定向
 


 

ColdFusion下的301重定向
 

<.cfheader statuscode="301" statustext="Moved permanently">
 

<.cfheader name="Location" value="http://www.xinadmin.com"> 旧域名重定向到新域名
 

创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保旧域名所有的目录或者网页正确的跳转到新域名内。
 

记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件
 

Options +FollowSymLinks
 

RewriteEngine on
 

RewriteRule (.*) http://www.xinadmin.com/$1 [R=301,L]
 

请将上面的www.xinadmin.com修改成你想要跳转到的域名。
 

此外,我建议大家归总旧网站的外部链接,并联系相应的站点修改导入链链的URL,以指向新站点。
 

注意:.htaccess文件只有在使用安装有Mod Rewrite模块的Apache作为WEB服务器的Linux主机上才能起作用
 

域名301重定向到www的二级域名
 

在以前的文章中我反复提及过:www.xinadmin.com是xinadmin.com域下的一个二级域名,并对二级域名和一级目录之间如何选择以及网站结构优化做了一个详细的分析,有兴趣的可以读一下两篇文章,网站结构优化是SEO中最重要。
 

OK,继续域301跳转到www二级域的实现方式:
 

创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保所有来自对xinadmin.com的请求都转向到对www.xinadmin.com进行请求。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件
 

Options +FollowSymlinks
 

RewriteEngine on
 

rewritecond % ^xinadmin.com [nc]
 

rewriterule ^(.*)$ http://www.xinadmin.com/$1 [r=301,nc]
 

请将上面的xinadmin.com和www.xinadmin.com修改成你想要跳转到的域名。
 

注意:.htaccess文件只有在使用安装有Mod Rewrite模块的Apache作为WEB服务器的Linux主机上才能起作用
 

301重定向检测工具
 

配置完成后,一定认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker
 

其实网站重定向极为普遍,譬如不满意原来的域名而申请了一个新域名;买下容易被人错拼的域名,防止客户因为拼错URL而找不到网站,等等。可是,很多人却会由于使用了错误的重定向状态码而遭“灭站之灾”,就象Business.com。尽管他们的重定向理由充分合理,然而若使用不当,则可能被Google误认为是利用多个域名指向同一网站,那么你的网站就会被封掉,罪名是“利用重复的内容来干扰Google搜索结果的网站排名”。Business.com就是最好的前车之鉴。只不过大多数使用错误重定向参数的网站没Business.com这么幸运,一个小小的重定向就可能使网站前功尽弃,只能从头来过:重新申请新域名,重新发布新网站,等等。记住:Google绝不会同情任何人即使无心犯下的错误。
 

网站服务器响应网页浏览请求的运作流程
 

让我们先来了解一下用户/搜索引擎和网站一开始的交互流程。当用户或搜索引擎向一个网站服务器发出网页浏览请求时,该服务器将:
 

1.通过域名服务器(DNS)将域名转换为网站的IP地址,然后返回给客户
 

2.打开一个该IP套接口连接
 

3.记下通过该套接口的一个HTTP数据流
 

4.从WEB服务器接收一个响应请求的HTTP数据流。该数据流包含状态码,状态码的值由HTTP协议所决定。这里所说的“HTTP数据流”信息也叫“头信息(Header)”。头信息中包括了日期,服务器类型,通常还会有一条“200 OK”信息。如果一切良好,那么网络服务器就会将“200 OK”信息以及请求页面发送出去。如果网站在这时候已经建立了重定向,那么服务器就会在头信息中包含一个“302 Moved Temporarily”或“301 Moved Permanent”之类的响应信息。搜索引擎会根据服务器头信息中的内容作出决定。

标签:网站服务器 搜索引擎 数据流 朋友 定向 
相关评论
诚信网站 备案信息 网警110 不良信息举报 网络安全监察 QQ站长联盟安全认证 360安全认证网站
冀ICP备13003921号-1