apache重写规则不会重定向所有URL

时间:2015-04-11 13:43:04

标签: apache .htaccess redirect

我的.htaccess网站有很多同一网站的域名

我希望用户在将特定域重定向到另一个域时,我在htaccess文件中有这个代码,它重定向很好但不是所有网址,我希望所有请求都被重定向到具有相同网址的新域

RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]

任何想法有什么问题?

1 个答案:

答案 0 :(得分:0)

问题是我的.htaccess文件也与许多域一起使用,并且我将每个域规则放在一个由注释分隔的块中,并且每个域都有一些重定向到文件夹,以防URL中指定的特定URL如此< / p>

RewriteCond %{HTTP_HOST}   ^www\.mydomain\.com [NC]
RewriteRule   ^example/(.*)$   folder1/$1  [QSA,L] RewriteRule  
RewriteRule   ^fold2/(.*)$   folder2/$1  [QSA,L]

所以我必须添加我的代码

RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]

在任何重定向之前使其可能运行并重定向所有URL。