2014-08-27 40 views
0

我有这个在我的.htaccess不工作:的.htaccess旧域到一个新的域结构时,页面是不一样的

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^(.*)$ http://www.houstonhouseandhome.net/$1 [R=301,L] 
</IfModule> 

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www.houseandhomeonline\.com$ [NC] 
RewriteRule ^(.*)$ http://www.houstonhouseandhome.net/ [R=301,L] 

的主页进入新的领域,但旧域的子页面不会去新域的索引。他们进入新的域并寻找相同的页面,是否有方法将来自旧域页面的请求发送到新的域索引? 谢谢,

回答

0

出于某种原因,你有两套规则。

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^(.*)$ http://www.houstonhouseandhome.net/$1 [R=301,L] 
</IfModule> 

然后

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^www.houseandhomeonline\.com$ [NC] 
RewriteRule ^(.*)$ http://www.houstonhouseandhome.net/ [R=301,L] 

你只需要第一套。 [L]标志告诉Apache停止处理任何更多的规则,如果这匹配。既然它会匹配所有的东西,第二套规则永远不会生效。

要停止尝试在新域中查找相关页面的所有内容,只需从域的末尾删除$1即可。所以,你的htaccess文件看起来就像这样:

Options +FollowSymLinks 
<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^(.*)$ http://www.houstonhouseandhome.net/ [R=301,L] 
</IfModule> 

注意

由于您使用301个重定向,确保重新测试前,您的浏览器已经清除缓存/历史。浏览器不会请求它认为会用301响应的网址。

相关问题