htaccess使用路径和参数重定向到新域

时间:2013-05-23 12:15:39

标签: apache .htaccess mod-rewrite

我需要将一个文件夹的所有流量重定向到新域。设置如下:

  • 原始网站有一个带有.htaccess文件的文件夹“admin”(请参阅​​下面的重写规则)
  • 所有流量都应该转到其他网站
  • 应保留路径和参数

我做了以下重写规则:

RewriteEngine on
RewriteRule     (.*)      http://admin.testsite.com/admin/$1 [R=301,L]

这适用于参数,但不适用于路径。以下网址不会重定向:

www.oldsite.com/admin/account/?test=3

如何将此网址重定向到admin.testsite.com/admin/account/?test=3


注意:在根目录中还有另一个.htaccess,其中包含以下规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /users/index\.php\?file=(.+)&group=(.+)\ HTTP/
RewriteRule ^users/index\.php$ /users/%1/%2\.html? [L,R=301]

这会影响其他规则吗?

1 个答案:

答案 0 :(得分:2)

这是官方答复。

问题是:“怎样才能将www.oldsite.com/admin/account/?test=3重定向到admin.testsite.com/admin/account/?test=3?”

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