2008年3月19日星期三

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/

43 条评论:

Mr.刘 说...

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

James 说...

很有用,收藏了。

s.t 说...

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

weijias 说...

先收藏了,谢谢分享

seo 说...

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

seo 说...

紧跟乐老师的脚步走。 Tyanbo

郑州SEO 说...

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

我乐天天淘宝网 说...

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

Cheng 说...

很全面,收藏了,谢谢!

午夜客 说...

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

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

seaer825 说...

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

樂思蜀 说...

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

ehaixia 说...

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


希望能给予指导!谢谢!

seaer825 说...

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

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

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

樂思蜀 说...

如果是支持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

深圳seo 说...

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

成都SEO 说...

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

深圳SEO 说...

深圳网站优化来学习了!

淘宝网手机 说...

呵呵,还是大家做的好啊

上海SEO 说...

很全面,收藏了,谢谢!

qq个性分组图案大全 说...

终于看明白了,谢谢了

知识 说...

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

淘宝网女装 说...

说声元旦快乐!

深圳SEO 说...

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

深圳小笨笨SEO 说...

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

奥特曼小游戏 说...

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

东莞SEO 说...

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

qq网名 说...

很不错。学习了。谢谢~

wkl17 说...

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

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

非常感谢分享!

wkl17 说...

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

说...

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

娄底seo 说...

找了半天才找到

上海SEO 说...

好东西啊,以后用得着

羽翼seo 说...

写的很好呀,301代码还有这么多,不错

育儿网 说...

我有一个网站用的是ASP,用你的第一条,ASP301,不好使呀,放上去就打不开了

北京装修 说...

谢谢啊,真是太全了,我先收藏了呢

Ps美女 说...

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

alone 说...

看了!比较全哦

扬州网站建设 说...

对于转向页的学习是任重而道远啊!

北京SEO 说...

总结的好全面啊,支持一下!用的时候可以来拿了。哈哈301代码还有这么多!文章只是说到了“代码”,希望能补上“详细操作”,这样会方便更多人。。

非常感谢分享!

子南 说...

对百度来讲,很淡痛

中专学校 说...

对新手很不错的技术文章。

steel slag crusher 说...

老师的评论总是最火的,就这个转向问题,我觉得完全没有必要,我真的没有发现上网输网址的时候不带www的