利用.htaccess实现DZ论坛301重定向的方法(伪静态可行)

懒小爱  发布于2009/4/24 23:56   网站经验    标签: 服务器 网站 论坛 收录 空间 htaccess   
点击在新窗口中浏览此图片
301重定向的功能这里就不多说了。随便谷歌百度一下就能搜出好一些。

自从论坛原先的www.xxx.com/bbs,绑定子目录变为bbs.xxx.com以后,搜索引擎的收录就开始怪异起来。
不得不用301永久重定向,但是基于原先虚拟空间所限,无法实现301重定向这个功能。
我试过用PHP代码来实现,又因为绑定的是根目录里面的子目录,所以代码一加进去就出现了死循环,无法成功。

现在论坛搬到更好的服务器上。用了www和bbs两个独立的目录,并且支持对目录中的.htaccess文件的解析,那么,一切就好办了。

[b]我现在要实现的地址标准化有下面两种模式:[/b]

1。
把http://xxx.com转向到http://www.xxx.com

2。
把http://www.xxx.com/bbs转向到http://bbs.xxx.com
同时把http://xxx.com/bbs也转向到http://bbs.xxx.com


[b]实现方法如下(前提是,你的空间必须支持对目录中的.htaccess文件解析哦):[/b]

打开 .htaccess 找到
RewriteEngine on

它的下方添加
RewriteCond %{HTTP_HOST} ^需要被转向的网址$
RewriteRule ^(.*)$ http://转向后的网址/$1 [R=301,L]

完成!

[color=#FF1493]注意,一般实现了伪静态的DZ论坛都会有一个.htaccess文件(但有些是空间商在服务器上自动帮你做好了伪静态Rewrite规则,所以也可能没有这个文件,那就没办法啦。)我一开始出现了一个错误,把那段代码添加到了.htaccess文件的最下面,导致转向后的地址是动态地址!其实这个是需要按照顺序来的,把这段代码加到伪静态规则的上方,让其先判断转向,再判断伪静态。这样就成功实现了DZ论坛的301重定向伪静态地址的功能![/color]

另外:如果 xxx.com 与 www.xxx.com 同一个目录时,需要将 xxx.com 转向到 www.xxx.com 时,那么以上两条都是必须添加的。如果当 xxx.com 与 zzz.com 不同目录时,比如我的www目录和bbs目录这样,则只需要添加一条 RewriteRule ^(.*)$ http://转向后的网址/$1 [R=301,L] 即可。
本文已有评论 1 条,检测到共有 2266 人飘过...↓快速评论↓

1楼
幻想の花月
在 2009-04-26 05:05 鸡冻的表示:
其实~
我已经看了好几遍了!
但是!!
我竟然一点也没有明白~
我去撞墙
发表回复: