Categories


Tags


详解301永久重定向实现方法

本文更新了百度官方提供的301问题汇总,参见文章结尾。

这篇文章可看可不看,以前讲301重定向都是回复别人的评论,而没在自己博客上发布过一篇详细关于301重定向的文章,在我印象中,已经有好几位朋友让我发布一篇关于301重定向的文章。索性今天我就详细写一下吧,也许此文对你有用,也许此文对大多数人已经是再常见不过的问题了,你说是吧weiking。

301永久重定向对SEO无任何不好的影响,而且网页A的关键词排名和PR级别都会传达给网页B,网站更换了域名,表示本网页永久性转移到另一个地址,对于搜索引擎优化|SEO来说,给搜索引擎一个友好的信息,告诉它此页面已永久重定向,避免搜索引擎找不到页面。

什么情况下使用301重定向

1:网站更换域名时,通过301永久重定向将旧域名重定向至新域名,挽回流量损失和SEO。

2:当出于需要删除网站中的某些目录时,比如我要删除我博客下的博客导航,这时就可以用301永久重定向到网站首页。

3:如果你有多个闲置域名时需要指向同一网站时,通过301永久重定向可以实现。

4:你打算实现网址规范化。

如何实现网址规范化

我重点讲讲这个网址规范化,因为这是大家很容易忽略的问题。例如我的域名,如果不做任何设置,它默认会产生四个网址:

(1)lusongsong.com(2)www.lusongsong.com(3)lusongsong.com/default.html(4)www.lusongsong.com/default.html

如果不做301重定向会导致:你站点主域名的pr值分散到其他几个URL了。先查询上面4个网址的PR值,如果结果一致,说明网站没有规范化问题;如果不一致,表明有规范化问题。这时候我们就需要使用301永久定向技术来实现网址的规范化了。需要注意的是,带www和不带www的两个网址,www其实是个二级域名。

我所知道的常用的301重定向设置方法有2种。一个是通过IIS界面直接设置,另外一个是通过代码来实现301重定向设置。卢松松建议用服务器组件来做重定向,我以下例子以我的域名lusongsong.com301重定向到lusongsong.com进行讲解。

1:IIS 服务器实现301 重定向

打开IIS,右键-属性-网站-IP地址哪里点编辑增加一个站点,增加一个站点,绑定的一下主机头,也可以绑定多个闲置域名。如图所示:

详解301永久重定向实现方法 网站优化 SEO推广 第1张

打开IIS,首先新建立一个站点,随便对应一个目录E:\wwwroot\301web。该目录下只需要2个文件,一个 default.html,一个404.htm。在欲重定向的网页或目录上按右键;选中“重定向到URL”;在对话框中输入目标页面的地址;切记,记得选 中“资源的永久重定向”;当然,最后要点击“应用”,完成。如下图所示:

详解301永久重定向实现方法 网站优化 SEO推广 第2张

2:Apache 服务器实现301 重定向

在Apache 中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301 重定向只是其中之一。找到redirect permanent / http://lusongsong.com:

redirect permanent /old.html http://lusongsong.com:修改这句即可。

3:在.htaccess文件中增加301重定向指令

采用“mod_rewrite”技术,形如:

RewriteEngine on

RewriteRule ^(.*)$ https://lusongsong.com/$1 [R=301,L]

4:适用于使用Unix网络服务器的用户

通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。

形如:Redirect 301 / https://lusongsong.com/

5:在服务器软件的系统管理员配置区完成301重定向

适用于使用Window网络服务器的用户

6:绑定/本地DNS

如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。

DNS服务器的设置

若要将blog.lusongsong.com指向lusongsong.com,则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME lusongsong.com。

如需配置大量的虚拟域名,则可写成:* IN CNAME lusongsong.com.这样就可将所有未设置的以lusongsong.com结尾的记录全部重定向到lusongsong.com上。

7:用ASP/PHP实现301重定向:

ASP:

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","https://lusongsong.com/"

Response.End

PHP:

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

header("Location:https://lusongsong.com/");

exit();

301重定向代码和测试工具

国外:http://www.seoconsultants.com/tools/headers

国 内:http://www.ranknow.cn/tools/redirectcheck

如 果出现结果200表明请求已成功,请求所希望的响应头或数据体将随此响应返回。

常用的跳转方式

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

302代表 暂时性转移,只有当一个网站或网页在24到48小时之内临时移到其它位置的情况下才能使用该命令。能够对302重定向具备优异处理能力的只有 Google,在前些年,不少搞SEO曾广泛应用这项技术作弊,但也很容易遭受惩罚。

用HTML跳转:<META HTTP-EQUIV=REFRESH CONTENT="5;URL=http://www.lusongsong.com">, 表示5秒后自动跳转到首页,你也可以把时间设置的更短,但也很容易被搜寻引擎容易误判为spam而遭到惩罚。

用javascript跳 转:<script language="javascript">location.href='http://www.lusongsong.com'</script>

转发和重定向的区别

一句话,转发是服务器行为,重定向是客户端行为。转发时一次请求,重定向是2次请求,转发地址栏不会发生改变,重定向地址栏会改变,转发在项目内,重定向 可以转到项目外。当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。

怎么选择是重定向还是转发

通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页 面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择转发。

备注:立刻关注微信公众号:站长那点事,争取获取更多站长相关的干货好文。

附:百度官方给出的301跳转常见问题汇总

上周有站长朋友在百度站长平台社区提出了一些关于301跳转的问题,我们特别邀请Baiduspider技术专家对此做了解答。在后续与Baiduspider技术专家沟通时,我们又获得了一些信息,今天通过采访的形式将内容传递给更多的站长朋友。

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

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

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

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

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

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

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

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

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

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

来源:卢松松博客


Public @ 2020-04-05 16:09:13

URL为什么静态化

现在的网站绝大多数是数据库驱动,页面由程序实时生成,而不是真的在服务器上有一个静态HTML文件存在。当用户访问一个网址时,程序根据URL中的参数调用数据库数据,实时生成页面内容。因此动态页面相对应的URL原始状态也是动态的,包含问号、等号及参数。更麻烦的是有时某些参数可以是任意值,服务器都能正常返回页面,虽然内容全是一样或非常相似的。例如,URL中的参数1234改为5678或其他数字,服务器很可能

Public @ 2022-02-17 16:11:07

robots.txt文件有什么必要?

什么是robots.txt文件?搜索引擎机器人通过链接抵达互联网上的每个网页,并抓取网页信息。搜索引擎机器人在访问一个网站时,会首先检查该网站的根目录下是否有一个叫做robots.txt的纯文本文件。当我们的网站有一些内容不想被搜索引擎收录,我们可以通过设置robots.txt文件告知搜索引擎机器人。如果网站上没有禁止搜索引擎收录的内容,则不用设置robots.txt文件,或设置为空。robots

Public @ 2018-10-22 16:09:22

百度对301转向反应缓慢的再观察

众所周知,百度对301转向反应非常缓慢,网上站长和SEO们的抱怨大把大把的。最近对这个问题又注意观察了一下。我这个SEO每天一贴是2006年开始写的,但那时候不是在seozac.com这个域名上,当初是在另一个域名的二级目录上。2011年1月才搬到这个域名。2011年3月的这篇帖子对换域名并做301转向的后续情况做过一些记录,简单说,百度和Google都在两个月之内完成了内容、权重等的传递。不过,

Public @ 2010-05-22 16:09:11

301重定向的实现方法

实现301重定向有以下几种方法: 1. 使用Apache服务器提供的.htaccess文件:在Apache服务器中,可以使用.htaccess文件实现301重定向。您可以在该文件中使用如下代码:Redirect 301/oldfile.html http://www.example.com/newfile.html 2. PHP头文件:您也可以使用PHP头文件来实现301重定向。只需在您的

Public @ 2023-02-25 09:27:23

更多您感兴趣的搜索

0.104534s