樂思蜀将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转向情况检测
太好了,我正在找的资料,谢谢!!!!
很有用,收藏了。
不错,对于新手很有帮助,不过希望能有404和302的资料就好了,对于我们新手来说很重要,感谢。
先收藏了,谢谢分享
紧跟乐老师的脚步走。 Tyanbo
乐老师,我想转载这篇文章,不知道可不可以?
请QQ或MSN上面回复我一声,好吗?
301转向最好不要做跳转,做个精态页面,放上连接!
在站长网上看说,转到pr高的网站,在google更新pr时,有帮助是这样的吗?
很全面,收藏了,谢谢!
不知道是不是我的服务器不支持。
原文复制过去都显示的是 403
我想把abc.com转到www.abc.com怎么办,用301不行啊。要是用301的话,不能指向根目录,要不就会出现根目录的定向文件找到域名,域名再找根目录的定向文件,然后这样循环。杂弄啊?
你把“将不带WWW的域名转向到带WWW的域名下”反过来写不就行了么?
我的问题可能比较棘手!
1 由于我的网站有9个二级域名(a.****.com、b.****.com ……)也绑定在同一站点上,使用rewrite伪静态功能实现二级域名访问效果。
2 现在要采用301方法实现****.com转向到www.****.com,那么势必影响到那9个二级域名了。是否二级域名也跟着全部都跳转到www.****.com呢?
3 能否同步实现****.com 跳转到www.****.com,同时又不影响那9个二级域名的伪静态二级访问功能呢?
希望能给予指导!谢谢!
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也来学习了,思蜀大哥不错!
深圳网站优化来学习了!
呵呵,还是大家做的好啊
很全面,收藏了,谢谢!
终于看明白了,谢谢了
雁过留痕,我过留脚印....
说声元旦快乐!
路过,学习了,相当精辟,谢谢!
以前服务器,有说到设置401,301可没听过,呵呵 ,不过路过了就学习下,谢谢LZ^^
为什么我的网站用asp重定向不成功呢
找好久了 先收藏了,谢谢老乐的分享.
很不错。学习了。谢谢~
上面这几行是文中“PHP”的,不知道是不是只要将这几行放到网站首页index.php里就行了?是放到的中间,还是放到外面??
不知道index.htm有没有办法呢?比如通过JavaScript之类的?
文章只是说到了“代码”,希望能补上“详细操作”,这样会方便更多人。。
非常感谢分享!
刚刚试了一下,发现会一直重定向,如果能自动判断是否带www.的,不带的话才重定向,带就不用了。。不然会像一直在刷新。。。
不错留用,肯定能用上的,多谢。