.htaccess仅重定向主页,而不是URL中的参数

jm2pwxwz  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(170)

我试图转发的主页只有一个301重定向,这与:

RedirectMatch 301 ^/$ https://www.site2.example/

但是现在我发现了一个问题,就是当URL中有参数的时候,那么它也会转发到site2.example,这不是我想要的。
主页必须转发到https://www.site2.example/,但当URL中没有参数时,如:

www.site1.example/?s=text

只有对主页www.site1.example/的访问才应转发到www.site2.example/
我试过很多方法,但都不管用。比如我试过的是

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/?s=
RewriteRule ^$ https://www.site2.example/ [R=301,L]
bihw5rsg

bihw5rsg1#

您要对空查询字符串使用条件测试:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/?$ https://www.site2.example/ [R=301,L]

这样的规则最好在http服务器的主机配置中实现。如果你不能访问它,你可以使用一个 distributed 配置文件(通常称为.htaccess),然后你需要启用对这样的文件的解释(参见AllowOverride指令的文档)。

相关问题