301转向代码合集

樂思蜀将SEO工作中所需要的301转向代码进行了整理,收藏并分享,以备查阅。

1、IIS下301设置

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。

2、ASP下的301转向代码

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.lesishu.com/articles/301/"
%>

3、ASP.Net下的301转向代码

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.lesishu.com/articles/301/");
}
</script>

4、PHP下的301转向代码

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.lesishu.com/articles/301/");
exit();

5、CGI Perl下的301转向代码

$q = new CGI;
print $q->redirect("http://www.new-url.com/");
 

6、JSP下的301转向代码

<%
response.setStatus(301);
response.setHeader( "Location", "http://www.lesishu.com/" );
response.setHeader( "Connection", "close" );
%>

7、Apache下301转向代码

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下

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

2)重定向到新域名

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.lesishu.com/$1 [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+).html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

8、Apache下vhosts.conf中配置301转向

为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:

<VirtualHost *:80>
ServerName www.lesishu.com
DocumentRoot /home/lesishu
</VirtualHost>

<VirtualHost *:80>
ServerName lesishu.com
RedirectMatch permanent ^/(.*) http://www.lesishu.com/$1
</VirtualHost>

Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读Apache文档

301转向情况检测

  1. http://www.seoconsultants.com/tools/headers.asp
  2. http://www.internetofficer.com/seo-tool/redirect-check/

作者:樂思蜀
原文:301转向代码合集
版权所有,转载时必须以链接形式注明作者和原出处并保留本声明。

301转向代码合集 的评论

  1. 发表于 2008年03月18日 10:53 PM

    太好了,我正在找的资料,谢谢!!!!

  2. 发表于 2008年03月19日 7:18 AM

    很有用,收藏了。

  3. 发表于 2008年03月19日 1:45 PM

    不错,对于新手很有帮助,不过希望能有404和302的资料就好了,对于我们新手来说很重要,感谢。

  4. 发表于 2008年03月19日 4:40 PM

    先收藏了,谢谢分享

  5. 发表于 2008年03月20日 10:18 AM

    紧跟乐老师的脚步走。 Tyanbo

  6. 发表于 2008年03月20日 10:19 AM

    乐老师,我想转载这篇文章,不知道可不可以?
    请QQ或MSN上面回复我一声,好吗?

  7. 发表于 2008年03月21日 11:29 PM

    301转向最好不要做跳转,做个精态页面,放上连接!

  8. 发表于 2008年06月08日 10:44 PM

    在站长网上看说,转到pr高的网站,在google更新pr时,有帮助是这样的吗?

  9. 发表于 2008年08月24日 8:14 AM

    很全面,收藏了,谢谢!

  10. 发表于 2008年09月23日 10:18 AM

    不知道是不是我的服务器不支持。

    原文复制过去都显示的是 403

  11. 发表于 2008年11月27日 6:02 PM

    我想把abc.com转到www.abc.com怎么办,用301不行啊。要是用301的话,不能指向根目录,要不就会出现根目录的定向文件找到域名,域名再找根目录的定向文件,然后这样循环。杂弄啊?

    • 发表于 2008年11月27日 6:12 PM

      你把“将不带WWW的域名转向到带WWW的域名下”反过来写不就行了么?

  12. 发表于 2008年12月25日 6:42 PM

    我的问题可能比较棘手!
    1 由于我的网站有9个二级域名(a.****.com、b.****.com ……)也绑定在同一站点上,使用rewrite伪静态功能实现二级域名访问效果。
    2 现在要采用301方法实现****.com转向到www.****.com,那么势必影响到那9个二级域名了。是否二级域名也跟着全部都跳转到www.****.com呢?
    3 能否同步实现****.com 跳转到www.****.com,同时又不影响那9个二级域名的伪静态二级访问功能呢?

    希望能给予指导!谢谢!

  13. 发表于 2009年01月10日 5:49 PM

    seaer825 发表于 2008年11月27日 6:02 下午
    我想把abc.com转到www.abc.com怎么办,用301不行啊。要是用301的话,不能指向根目录,要不就会出现根目录的定向文件找到域名,域名再找根目录的定向文件,然后这样循环。杂弄啊?

    樂思蜀 发表于 2008年11月27日 6:12 下午
    你把“将不带WWW的域名转向到带WWW的域名下”反过来写不就行了么?

    这是什么意思啊?没明白。就是用域名解析的方法,把不带www的转到带www的行吗,跟301比,有什么不好。

    • 发表于 2009年01月10日 6:06 PM

      如果是支持Rewrite的Apache,用我文章中的方法就可以了,根目录下放置一个.htaccess文件,内容如下(域名换成你的):

      RewriteEngine On
      rewriteCond %{http_host} ^lesishu.cn [NC]
      rewriteRule ^(.*)$ http://www.lesishu.cn/$1 [R=301,L]

      如果是IIS,网站只绑定带WWW的,另外新建一个站点,绑定不带WWW的,选择“资源永久重定向”,目标为带WWW的域名。
      还不清楚的话,给我发邮件:wzwmail@gmail.com

  14. 发表于 2009年08月20日 10:04 AM

    找好久了 先收藏了,谢谢老乐的分享.

  15. 发表于 2009年11月10日 5:20 PM

    成都SEO也来学习了,思蜀大哥不错!

  16. 发表于 2009年11月22日 11:15 PM

    深圳网站优化来学习了!

  17. 发表于 2009年12月08日 4:45 PM

    呵呵,还是大家做的好啊

  18. 发表于 2009年12月30日 5:58 PM

    很全面,收藏了,谢谢!

  19. 发表于 2009年12月30日 10:22 PM

    终于看明白了,谢谢了

  20. 发表于 2009年12月31日 5:51 PM

    雁过留痕,我过留脚印....

  21. 发表于 2010年01月02日 5:42 PM

    说声元旦快乐!

  22. 发表于 2010年02月11日 1:28 PM

    路过,学习了,相当精辟,谢谢!

  23. 发表于 2010年02月11日 1:45 PM

    以前服务器,有说到设置401,301可没听过,呵呵 ,不过路过了就学习下,谢谢LZ^^

  24. 发表于 2010年02月12日 2:38 AM

    为什么我的网站用asp重定向不成功呢

  25. 发表于 2010年02月14日 9:47 PM

    找好久了 先收藏了,谢谢老乐的分享.

  26. 发表于 2010年02月26日 6:32 PM

    很不错。学习了。谢谢~

  27. 发表于 2010年05月22日 4:13 PM

    上面这几行是文中“PHP”的,不知道是不是只要将这几行放到网站首页index.php里就行了?是放到的中间,还是放到外面??
    不知道index.htm有没有办法呢?比如通过JavaScript之类的?

    文章只是说到了“代码”,希望能补上“详细操作”,这样会方便更多人。。

    非常感谢分享!

  28. 发表于 2010年05月22日 4:31 PM

    刚刚试了一下,发现会一直重定向,如果能自动判断是否带www.的,不带的话才重定向,带就不用了。。不然会像一直在刷新。。。

  29. 发表于 2010年07月09日 4:36 PM

    不错留用,肯定能用上的,多谢。

发表评论