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

2016-07-07 15:32 来源:www.chinab4c.com 作者:ecshop专家

301重定向的功能这里就不多说了。随便谷歌百度一下就能搜出好一些。
自从网店原先的www.xxx.com/shop,绑定子目录变为shop.xxx.com以后,搜索引擎的收录就开始怪异起来。
不得不用301永久重定向,但是基于原先虚拟空间所限,无法实现301重定向这个功能。
我试过用PHP代码来实现,又因为绑定的是根目录里面的子目录,所以代码一加进去就出现了死循环,无法成功。
现在网店搬到更好的服务器上。用了www和shop两个独立的目录,并且支持对目录中的.htaccess文件的解析,那么,一切就好办了。
我现在要实现的地址标准化有下面两种模式:
1。
把http://xxx.com转向到http://www.xxx.com
2。
把http://www.xxx.com/shop转向到http://shop.xxx.com
同时把http://xxx.com/shop也转向到http://shop.xxx.com

实现方法如下(前提是,你的空间必须支持对目录中的.htaccess文件解析哦):
打开 .htaccess 找到
RewriteEngine on
它的下方添加
RewriteCond %{HTTP_HOST} ^需要被转向的网址$
RewriteRule ^(.*)$ http://转向后的网址/$1 [R=301,L]
完成!
注意,一般实现了伪静态的ecshop网店都会有一个.htaccess文件(但有些是空间商在服务器上自动帮你做好了伪静态Rewrite规则,所以也可能没有这个文件,那就没办法啦。)我一开始出现了一个错误,把那段代码添加到了.htaccess文件的最下面,导致转向后的地址是动态地址!其实这个是需要按照顺序来的,把这段代码加到伪静态规则的上方,让其先判断转向,再判断伪静态。这样就成功实现了ecshop网店的301重定向伪静态地址的功能!
另外:如果 xxx.com 与 www.xxx.com 同一个目录时,需要将 xxx.com 转向到 www.xxx.com 时,那么以上两条都是必须添加的。如果当 xxx.com 与 zzz.com 不同目录时,比如我的www目录和shop目录这样,则只需要添加一条 RewriteRule ^(.*)$ http://转向后的网址/$1 [R=301,L] 即可。

回答:
不错,支持一下~

支持分享
辛苦了

试了,可是没有成功,楼主能不能给看下cnitao.cn

谢谢你的分享

我的百度不收录。你的呢。,谢谢啊