首页 > 搜索引擎 > .htaccess的301重定向方法详解

.htaccess的301重定向方法详解

2010年7月5日

【.htaccess在线生成说明】之htaccess文件301重定向方法全解

Redirect指令是.htaccess文件中一个非常常用的指令,它的作用是发送一个外部重定向使客户端重新跳转到一个不同的URL。

Redirect重定向指令有三个不同的状态参数:

第一个是permanent:永久性301重定向;
第二个是temp:临时重定向状态码,即返回302;
第三个是seeother:此参数表示“参见”的含义,即本资源已经被另外一个更好的资源替代了;

另外,还有一个gone,表示此资源已经被永久性删除了,因此,也就不存在什么跳转关系了。其后面的URL会被忽略。但一般来说,对于SEO上的用途,301永久跳转是用的最多的。

比如,如果希望网页从本空间的 /service目录跳转到 http://foo2.example.com/service ,那么,则可以使用如下htaccess文件指令:

Redirect [permanent,temp,seeother] /service http://foo2.example.com/service

此时,如果客户端请求http://example.com/service/foo.txt,则会被重定向到http://foo2.example.com/service/foo.txt。通过例子可以看出,此时的重定向是带有广泛匹配的,即:该目录下的所有子文档都会被重定向到一一对应的新地址上去。这一特性也给htaccess文件的编写带来了非常大的方便。

因为Redirect指令进匹配完整的URL,因此,该命令不能用来匹配文件名的正则表达式。如果希望匹配更多的条件,请使用RedirectMatch命令。
后文将进行详细的介绍:

RedirectMatch 指令

RedirectMatch指令是基于正则表达式匹配对当前的URL发送一个外部重定向命令。该命令与Redirect等效,但是URL能使用正则匹配。它使用了标准的正则表达式而不是简单的文件匹配。

其语法是:

RedirectMatch [status] regex URL

如果egex与URL相匹配,则服务器会把所匹配的括弧中的字符串替换到该指令所指定的目标字符串中,并将它视之为一个文件名。例如,重定向所有GIF文件到另一个服务器上同名的JPEG文件,可以:

RedirectMatch (.*)\.gif$ http://www.anotherserver.com$1.jpg

因此,该命令更加强大。其实际作用在于,比如想将本服务器上的所有图片、rar等资源换到专用的FTP服务器上去,这个功能就起大作用了。

与上述的301重定向命令类似的还有RedirectPermanent指令,与之对应的302重定向还有RedirectTemp指令。他们在用法上都是大同小异,只是这两个指令将之前的那两个指令具体化了一下,并且不带有状态码参数。

比如:

RedirectPermanent /service http://foo2.exsample.com/service 等效于 Redirect Permanent /service http://foo2.exsample.com/service

无论使用哪种表达都具有同样的效果。

301永久重定向将会促使搜索引擎尽快更新收录的地址并且收录新的地址。但是,某些情况下,这一方法可能会让搜索引擎作为作弊处理。这些指令的作用域都包含.htaccess配置文件,直接将需要的指令加入该文件

.htaccess文件在线生成器地址http://blog.wangqu.org/htaccess/

相关新闻:


  1. 通过htaccess实现网站SEO妙用
  2. 如何选择国外虚拟主机
  3. elitenethosting.com是一个组团忽悠的诈骗组织!
  4. 利用.htaccess文件进行301重定向URL标准化
  5. 通过.htaccess文件开启图片缓存 加快页面载入速度
编辑:Suriv 分类:搜索引擎 标签:
  1. 2010年7月5日18:03 | #1

    感谢分享~

  2. 2010年8月21日20:38 | #2

    学习了!

  3. 2010年11月18日10:34 | #3

    谢谢了 很实用的东西

  4. 2010年11月26日15:16 | #4

    学习了,但是没有找到我要和答案。

  5. 2010年12月11日11:35 | #5

    还是没我需要的。

  6. 2011年1月1日01:57 | #6

    找到我要和答案

  7. 2011年1月24日21:01 | #7

    前面的介绍看不懂
    直接用那个在线工具搞定

  8. 2011年2月10日15:43 | #8

    不错 学习中。。。

  9. 2011年2月23日13:24 | #9

    非常感谢分享..

  10. 2011年3月26日16:41 | #10

    这个301重定向写得不错。

  11. 2011年5月1日00:51 | #11

    感谢分享..

  12. 2011年6月23日20:43 | #12

    你好,我刚才的提问能不能帮我发个邮件啊,我感觉问题严重

    能不能用重新定向来实现,不管任何域名进来,都统一转到http://websl.cn/space.php?uid=839&do=blog&id=1751 这样的参数,不然搜索引擎都以为我作弊了

    没办法了

  13. 2011年6月23日20:45 | #13

    对不起 第一次没发出去,就13楼这个问题 帮助我解答下谢谢

  14. 2011年8月6日16:39 | #14

    有问题,设置的跳转不起作用啊

  15. 2011年8月23日14:26 | #15

    我的怎么就是不行了。。。谁可以帮我解决下

  16. 2011年11月14日16:51 | #16

    学习了,我想问的是seeother这个参数能传递权重吗?

  17. 2012年3月15日17:09 | #17

    实用的!谢谢博主的博文!


WangQu