RewriteCond和Full QUERY_STRING

时间:2010-05-23 09:12:34

标签: regex mod-rewrite redirect query-string

我很难把头缠在这个上 - 这应该是微不足道的。

我想将一个带有特定查询字符串的URL重定向到另一个URL。

我想在URL

中发送包含查询字符串的任何请求

http://example.com/index.php?option=com_user&view=register

要:

http://example.com/index.php?option=com_regme&view=form&regme=4&random=0&Itemid=6

如果他们在第一个URL的末尾添加任何内容,它仍应转到第二个URL,以便它们无法绕过重定向。第一个查询字符串中的任何内容都不需要保留并传递给第二个 - 我想要做的就是完全更改URL。

我正在试图让它发挥作用,但它应该是微不足道的。

建议?

谢谢,

-Tim

1 个答案:

答案 0 :(得分:2)

由于参数可能以任何顺序出现,请尝试以下规则:

RewriteCond %{QUERY_STRING} (^|&)option=com_user(&|$)
RewriteCond %{QUERY_STRING} (^|&)view=register(&|$)
RewriteRule ^ /index.php?option=com_regme&view=form&regme=4&random=0&Itemid=6 [L,R=301]