.htaccess重定向基于查询字符串,保留字符串

时间:2017-05-23 01:42:48

标签: .htaccess redirect mod-rewrite

如果查询字符串中的值匹配,我尝试将一个URL重定向到另一个URL,如果是特定值(do = login)。我想保留整个字符串,因为它转发到另一个域名/网址。

例如:

这是我到目前为止所做的,但它似乎没有起作用:

RewriteEngine On
RewriteCond %{HTTP_HOST} =domain1.com [NC]
RewriteCond %{QUERY_STRING} (do=login)
RewriteRule ^$ https://domain2.com/script1.php/?%{QUERY_STRING} [R=301,L]

我对重写规则没有太多经验,并且一直试图让它工作几个小时。非常感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

这不起作用,因为您当前的RewriteRule仅匹配根页/。您需要匹配myscript/script1.php

RewriteEngine On
RewriteCond %{HTTP_HOST} domain1\.com$ [NC]
RewriteCond %{QUERY_STRING} do=login [NC]
RewriteRule ^myscript/script1\.php$ https://domain2.com/script1.php?%{QUERY_STRING} [R=301,L]