.htaccess 重定向?具有htaccess

.htaccess 重定向?具有htaccess,.htaccess,apache2,.htaccess,Apache2,我正试图将“somepage?open=support”重定向到“support”,我这样做了: RewriteCond%{QUERY\u STRING}^open=support$ 重写规则(.*)/支持?[R=301,L] 但它只适用于某些情况,如:“site.php?1=2?open=support”,而不适用于?1=2?open=support” 我希望它适用于所有情况 感谢您就此问题提供的任何建议。将^和$放在您的重写条件中,实际上就是说查询字符串必须等于open=support。但听

我正试图将“somepage?open=support”重定向到“support”,我这样做了:

RewriteCond%{QUERY\u STRING}^open=support$

重写规则(.*)/支持?[R=301,L]

但它只适用于某些情况,如:“site.php?1=2?open=support”,而不适用于?1=2?open=support”

我希望它适用于所有情况


感谢您就此问题提供的任何建议。

^
$
放在您的
重写条件中,实际上就是说查询字符串必须等于
open=support
。但听起来您希望包含
open=support
。大概是

RewriteCond %{QUERY_STRING} ^(|.*\&)open=support(|\&.*)$
注意:在您的示例中,我根本没有看到双
s,因此忽略它们。但是如果您允许
在查询字符串中充当分隔符,比如
&
,那么可能

RewriteCond %{QUERY_STRING} ^(|.*[\?\&])open=support(|[\?\&].*)$

这不起作用,我在末尾添加了$,因为我只关心url的开头。我需要它重定向所有以“?open=support”结尾的URL,无论之前是什么。有什么想法吗?