301域名重定向?301转发

域名知识 a1561571580 发布时间:2025-02-07 浏览:

301域名重定向?301转发

301重定向怎么设置(网站域名301重定向的方法)

一、什么是301重定向

301重定向(或叫301跳转、301转向)是用户或搜索引擎蜘蛛向网站服务器发出访问请求时,服务返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。其他常见的状态码还包括:200(表示一切正常);404(网页不存在);302(临时性转向);500(内部程序错误);

除了301转向,网址转向还有其他方法,如302转向、JavaScript转向、PHP/ASP/CGI程序转向、Meta Refresh等。

301重定向对搜索引擎优化具有不可替代的作用。用301重定向巩固规范版本的URL,重拾权重,防止搜索结果的重复内容。从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。

二、什么情况下使用301重定向

网站改版经常需要用到301重定向:如网站更换域名,改变网页目录结构,网页被移到一个新地址,网页扩展名改变,如因需要把.php改成.html。在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失。使用301重定向不仅能使页面实现自动跳转,告诉用户你已经换了新的网址了。同时也告诉搜索引擎,这个才是真正的网址,搜索引擎只对重定向后的新网址进行索引,同时又会把旧地址权重如数转移到新地址下,从而不会让网站的排名因为网址变更而受到影响。

一个网站注册了多个域名,需要通过301重定向让访问这些域名的用户自动跳转到其中一个主域名。这样做是为了避免造成大量复制内容,而遭到搜索引擎惩罚。因为在搜索引擎看来,每个域名都是一个独立的站,多个域名指向同一站,会被认定为站点雷同,内容复制,轻则不收录进入沙盒期,重则直接被K。

实现网址规范化也需要301重定向

假设有下面几个网址:

都做301重定向到 (选定的规范化网址),搜索引擎就知道是规范化网址,而且会把上面列的网址权重传递集中到规范化网址。

目前Google会传递大部分权重,但不是百分之百权重。百度会传递所有权重。Google对301的识别、反应、完成权重传递,需要1~3个月时间。百度对301处理则比较保守,新旧URL会同时存在于数据库很长时间。

三、Apache服务器实现301重定向

如果网站使用LAMP(Linux+ Apache+ MySQL+ PHP)主机,可以利用Apache的mod_rewrite对URL进行重写或重定向。需要以下几步:

1、首先确保开启了mod_rewrite功能。

用文本编辑器打开Apache安装目录\conf\httpd.conf,找到#LoadModule rewrite_module modules/mod_rewrite.so这行,去掉前面的#;

继续查找AllowOverride None,修改为AllowOverride All;

然后,重启Apache即可。

2、在你需要URL重定向的网站根目录下放一个.htaccess文件,文件名是.htaccess,Windows下不能直接建立,你可以用记事本另存为。

3、在.htaccess中通过正则表达式重定向到需要的页面。示例如下:

将不带www的顶级域名301重定向到带www的域名

Options+FollowSymLinks

RewriteEngine On

RewriteCond%{HTTP_HOST} ^dongrv.com [NC]

RewriteRule ^(.*)$ $1 [L,R=301]

将页面301重定向到另外一个页面

Options+FollowSymLinks

RewriteEngine On

RewriteRule ^/oldpage.html$/newpage.html[NC,L,R=301]

四、IIS服务器下做301重定向设置方法

示例:将dongrv.com跳转到www.dongrv.com

1、新建一个站点,对应目录如d:\site。该站点主要用于转向,目录可以是空的,不需要任何文件。然后为该站点绑定要跳转的域名dongrv.com,如图:

2、在IIS中选中刚才我们建立的站点,右键,属性,主目录,选择重定向到,输入另一个绑定好www.dongrv.com域名的网站地址(这个网站下存放有网站内容)。输入的地址是:$S$Q,同时注意选中下面的资源的永久重定向选项和上面输入的准确URL这2个选项。如下图:

对于$S$Q字符,这里解释一下:

$S将请求的URL的后缀传递给新的URL。后缀是用重定向的URL代替之后,初始URL中所保留的部分。

如果未选中上面输入的准确URL选项,则结果目标URL的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。

$Q将初始URL中的参数(如 querystring参数)传递至新的 URL,包括问号(?)。

如果不加上$S$Q字符的话,内页的301都会跳转到首页,加上$S$Q字符的目的就是内页也能准确的跳转到新域名的对应内页。

好了,这样就完成了301永久重定向的设置,设置好之后最好能测试一下301重定向是否成功。站长工具的HTTP状态工具()即可查到,如果查到的返回状态是301就说明你已经成功了。

五、使用ISAPI_Rewrite实现IIS的301重定向

ISAPI_Rewrite是用于IIS的第三方URL重写组件。它是基于正则表达式的,类似Apache mod_rewrite功能,不仅可以实现URL重写,还可以实现301重定向。

ISAPI_Rewrite组件有免费版(Lite)以及商业版(Full),免费版只支持全局httpd.conf配置,不能对每个站点进行单独设置,而商业版可以让每个站点自定义URL重写规则,只要将httpd.ini放在站点根目录下就能生效。

请使用 ISAPI_Rewrite 2.x或者最新的3.0版本(它兼容Apache的mod_rewrite的语法),而较早的1.x版本不支持301重定向功能。

下面给出示例:

1.将不带www的顶级域名301重定向到带www的域名

# ISAPI_Rewrite 2.x版本

[ISAPI_Rewrite]

# 3600= 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host: ^dongrv\.com$

RewriteRule(.*) $1 [I,RP]

# ISAPI_Rewrite 3.0版本

[ISAPI_Rewrite]

# 3600= 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond%{HTTP:Host} ^dongrv\.com$

RewriteRule(.*) $1 [NC,R=301]

2.不同域名之间的301转向

# ISAPI_Rewrite 2.x版本

[ISAPI_Rewrite]

# 3600= 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond Host ^www\.test10000\.com$

RewriteRule(.*) $1 [I,RP]

# ISAPI_Rewrite 3.0版本

[ISAPI_Rewrite]

# 3600= 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteCond%{HTTP:Host} ^www\.test10000\.com$

RewriteRule(.*) $1 [NC,R=301]

3.将页面301重定向到另外一个页面

# ISAPI_Rewrite 2.x版本

[ISAPI_Rewrite]

# 3600= 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^/oldpage.html$/newpage.html[I,O,RP,L]

# ISAPI_Rewrite 3.0版本

[ISAPI_Rewrite]

# 3600= 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^/oldpage.html$/newpage.html[NC,L,R=301,O]

六、在网页后台程序中实现301重定向

如果页面是ASP/PHP/JSP/ASP.NET可以再后台代码中做301重定向。

但是我个人不推荐这样,因为在服务器上做301跳转是在你的页面执行之前就开始跳转,效率高。而程序代码中做301,要为每个页面头部加转向代码,比较麻烦。

示例如下:

1、PHP下的301重定向

Header(HTTP/1.1 301 Moved Permanently);

Header(Location: );

?

2、ASP下的301重定向

%@ Language=VBScript%

%

Response.Status= 301 Moved Permanently

Response.AddHeader Location,

%

3、ASP.NET下的301重定向

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status= 301 Moved Permanently;

Response.AddHeader(Location, );

}

4、JSP下的301重定向

%

response.setStatus(301);

response.setHeader(Location, );

response.setHeader(Connection, close);

%

提示:如果返回报头中只有Location,但没有明确提到状态代码时,就意味着一个302临时重定向。请谨记于心。例如下面都是302重定向:

PHP下的302重定向

php header(Location: );

?

Asp下的302重定向

%

Response.Redirect

%

ASP.NET 302重定向

private void Page_Load(object sender, System.EventArgs e)

{

Response.Redirect();

}

JSP下的302重定向

%

response.sendRedirect();

%

总结:301重定向是一种对搜索引擎最友好的网址转向方法。在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。无论是URL永久性改变,还是多种格式URL规范化都离不开301重定向。

其他问题:

网站301重定向的作用

301重定向的作用有很多,平时站长在做301重定向的时候,一是为了URL规范化并集中权重不让权重分散、二是为了网站改版,将旧版本的页面的所有指标全部转移到新版本的页面上。而实施301重定向可以做到这些,在作用上也是非常的强大,也建议中小企业的站长有效的利用301重定向给网站带来的作用。

网站域名在什么情况下必须做301重定向

以下五种情况是必须要做301重定向的,当然如果这五种情况都没有发生的话可以选择不做,下面详细的介绍一下。

①:网站的旧内容过期并被删除掉

网站的一些内容过期了,所以要被删掉了,如果还想留着可以通过301重定向实现。

②:网站有一些具有链接和流量的无效URL

如果你发现这些无效的URL还有流量权重,可以通过301重定向重新生成页面。

③:网站更换了主机托管公司

如果网站更换了主机托管公司,不影响用户查找网站内容的任何URL的情况下,可以不需要做301重定向。

④:网站更换程序

网站进行较大的改版,网站程序需要更换,此时会影响很多URL,可以通过301重定向来解决。

⑤:网站实施URL规范化

网站默认的URL分:

1、abc.com

2、www.abc.com

3、abc.com/index.html

4、www.abc.com/index.html

为了进行网址规范化和不分散权重,通常只出现一个标准的URL,我们可以通过301重定向来实现。例如:我的网站网址只出现的URL,我可以将其他三个URL通过301重定向到这个URL上,这样以来就不会分散权重了,可能带index.html后缀的URL做301重定向容易出现死循环,为了避免这样的情况也是有解决办法的,下面会详细讲解的。

⑥:网站因为各种原因而改变现有内容的URL

可能企业网站因为各种各样的原因而改变了现有内容的URL,这种情况的发生是站长没法预测到的,如果这种情况发生了而改变了URL,建议通过301重定向来解决,尽力避免死链接的出现。

总结上述需要注意:并不是所有的情况都是需要做301重定向的;但是,任何URL的更改都是需要做301重定向的。原因很简单,为了避免出现404错误页面而导致不该发生的情况发生。

网站做301重定向的注意事项

当301重定向实施完之后,旧版本页面跳转到了新版本页面,或网址规范化了再或者其他的,大部分的站长都不会注意到301的HTTP状态是否返回成功。就在此时,可能有些网站的301重定向不传递状态或者出现404错误的状态码,这样容易造成任何情况下做的301重定向无法达到效果。笔者认为,想要正确的、有效果的做301重定向,一些细节还是需要注意的。

域名设置301重定向如何操作

第一种情况,如果你有服务器或者vps,且系统是windows系统的。

在iis下,可以很简单的设置实现全站重定向。

具体方法是:在VPS里把www.xxxx.com域名的网站搭建好以后,按照同样的方式搭建一个xxxx.com的网站。然后打开“iis”。在XXXX.com的网站上鼠标右键打开选择属性,选择“主目录”标签,然后按照这个图设置

第二种情况,如果你的系统是Linux的。

做整站301跳转,很简单。如下修改文件httpd.conf或者.htaccess文件保存就可以了:

RewriteEngine On

RewriteCond%{HTTP_HOST} ^xxxx.com [NC]

RewriteRule ^(.*)$ $1 [L,R=301]

第三种情况,如果你是虚拟主机用户,如果你有子目录,恭喜你,也可以整站301重定向。具体方法是:

1.新建404.asp,把下面代码放到新建的404文件中保存。

代码

<%@ Language=VBscript%>

<%

Dim PageURL

PageURL=“http://”&Request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL")&"?"&Request.ServerVariables("QUERY_STRING")

PageURL= Replace(PageURL,“";,"")//修改为你的老域名

Response.Status="301 Moved Permanently"

Response.AddHeader"Location",“”&PageURL&""//修改为你的域名

%><%@ language="VBscript">

<%@ language="VBscript">

2.新建index.asp,把下面代码放到新建的ind文件中保存。

代码

<%@ Language=VBscript%>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader"Location",""//修改为你的域名。

%><%

Response.Status="301 Moved Permanently"

Response.AddHeader"Location",""//修改为你的域名。

%>

3.用ftp在网站根目录新建文件夹名为301,把上面的index.asp和404.asp上传进去。然后打开虚拟主机控制面板,添加子目录,把域名xxxx.com绑定到301文件夹,绑定后设置所属404页面为404.asp:

第四种情况,如果你是虚拟主机用户且你没有子目录,缺银子呗,呵呵,也是可以整站301的,具体方法是:

在网站根目录http.ini文件中,添加如下代码:

[ISAPI_Rewrite]# 3600= 1 hourCacheClockRate 3600RepeatLimit 32

了了

RewriteCond Host:^xxxx\.com$

RewriteRule(.*) http\://www\.xxxx\.com$1 [I,RP)

当301重定向实施完之后,旧版本页面跳转到了新版本页面,或网址规范化了再或者其他的,大部分的站长都不会注意到301的HTTP状态是否返回成功。就在此时,可能有些网站的301重定向不传递状态或者出现404错误的状态码,这样容易造成任何情况下做的301重定向无法达到效果。笔者认为,想要正确的、有效果的做301重定向,一些细节还是需要注意的。

例如:404错误(页面未找到)或者200 OK(页面成功加载);301(返回301状态码成功)

正确的HTTP状态码:

错误的HTTP状态码:

网站设置301域名重定向权重传递需要多长时间

普遍认为谷歌搜索引擎对301重定向反应速度是最快的,10-15天左右。百度的响应速度就很慢了,这里有的站长反应在1-2个月甚至半年都没有响应过来,对于这种情况百度官方也给出了网站做了301跳转之后,关于生效时间?新旧两个网站页面是否是重复页面?原网页是否会被删除等问题的解答。

问:我设置了301跳转,多久可以生效?

答:目前百度无法承诺301跳转的生效时间,因为站长感受到的生效时间会受多因素影响,比如Baiduspider再次抓取这个页面发现其设置了301的时间、网页的重要程度以及自身质量等。

问:301跳转生效后,原网页是否会被删除?

答:不会,会与跳转后的新网页同时存在。

问:原网页新网页都存在,相当于两个内容重复的页面,排名怎么处理?

答:通常百度会认为跳转后的新网页更加重要,原网页是被放弃的网页,会让新网页继承原网页属性,在搜索结果中会优先展现新网页。

问:将老域名跳转到新域名,是仅首页301就可以了?还是必须所有页面301?

答:必须所有页面301至新域名的相应页面。

问:原域名所有页面都跳转至新域页首页会有什么影响?

答:新域名首页将会替换旧域名首页,新域名首页仅继承旧域名首页的属性,不会产生1+1>2的效果。旧域名在短时间内仍然可查。但随着时间推移,旧域名由于质量下降最终会被清除出数据库。

根据百度的回答,具体的生效时间我们还是不知道,对于百度技术来说他们可能也无法保障重定向具体会什么时候生效,不过对于设置多个域名集权到新域名不管对于百度蜘蛛还是用户都是有益无害的。

百度对于新旧网站更换域名进行网站改版也提出了以下几点要求:

在现有情况若进行网站改版,建议按照以下方法进行:

1、网站改版完成,先将新版上线,在线上保持一段时间新旧内容共存。

2、新旧内容同时存在一段时间,且新版内容已开始收录后,对新旧内容设置301跳转,将旧版内容指向新版对应内容。

3、设置301之后,立刻在网站改版工具中将改版规则进行提交(详细的提交规则将在改版工具推出后进行介绍)。

通过301设置及百度网站改版工具相结合的方式将改版信息向百度进行提交将能够极大的降低网站因改版带来的流量损失,实现网站接近无损失的新旧交换。

希望以上的内容对您有帮助,请采纳,谢谢!

在线咨询

点击这里给我发消息QQ客服

在线咨询

免费通话

24h咨询:


如您有问题,可以咨询我们的24H咨询电话!

免费通话

微信扫一扫

微信联系
返回顶部