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

edqdpe6u  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(154)

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

  • 原始站点有一个文件夹“admin”,其中包含一个.htaccess文件(请参阅下面的重写规则)
  • 所有流量都应转到另一个站点
  • 应保留路径和参数

我制定了以下重写规则:

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

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

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]

这会影响其他规则吗?

6uxekuva

6uxekuva1#

这是官方的答复。
问题是:“怎么才能把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>
ee7vknir

ee7vknir2#

在情况下,整个域的网站需要改变,我发现了一个简单的方法来重定向所有的请求到新的地址(包括路径和URL参数):

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

相关问题