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

Apache htaccess使用路径和参数重定向到新域,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我需要将一个文件夹的所有流量重定向到一个新域。设置如下所示: 原始站点有一个带有.htaccess文件的文件夹“admin”(请参阅下面的重写规则) 所有流量都应转到其他站点 应保留路径和参数 我制定了以下重写规则: RewriteEngine on RewriteRule (.*) http://admin.testsite.com/admin/$1 [R=301,L] 这适用于参数,但不适用于路径。以下url不会重定向: www.oldsite.com/admin/a

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

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

RewriteEngine on
RewriteRule     (.*)      http://admin.testsite.com/admin/$1 [R=301,L]
这适用于参数,但不适用于路径。以下url不会重定向:

www.oldsite.com/admin/account/?test=3
如何将此url重定向到
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]

这会影响其他规则吗?

这是官方答案

问题是:“如何让www.oldsite.com/admin/account/?test=3重新注册到admin.testsite.com/admin/account/?test=3?”


重新启动发动机
重写规则^/admin/(.*)$http://admin.testsite.com/admin/$1[R=301,L]

您的
重写规则
看起来不错,您是否有任何
重写条件
可能会影响这一点?我已经创建了一个空的测试文件夹,创建了.htaccess,其中只有这个,由
上的重写引擎执行。所以没有条件。好吧,在根中有另一个.htaccess带有条件,但我不知道这会如何影响这个规则。我已用此更新了我的问题。请清除浏览器缓存并重新启动,然后重试测试。否。重写规则看起来不正确。
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^/admin/(.*)$  http://admin.testsite.com/admin/$1 [R=301,L]            
</IfModule>