htaccess重写规则,匹配URL参数

时间:2019-06-27 04:40:22

标签: regex mod-rewrite

很抱歉问一个如此琐碎的问题,但是我在RewriteRule文档中找不到答案。我在这里想念应该很简单...

我需要重定向

/index.php/component/users/?view=login

/index.php

如果URL匹配“ view = login”

我尝试了

RewriteRule ^((.*)\?view=login(.*))$ /index.php? [R,L]

,尽管在​​www.regextester.com或www.regexpal.com上进行了测试却显示匹配,但该方法不起作用

与此同时,匹配子字符串“ users”可以很好地使用

RewriteRule ^(.*)/users(.*)$ /index.php? [R,L]

我的正则表达式匹配“ view-login”是什么问题?为什么它不能在测试仪上工作,而不能在实时站点上工作?

谢谢!

更新 我设法使用RewriteCond和RewriteRule使其工作:

RewriteCond %{QUERY_STRING} login
RewriteRule ^(.*)$ /? [R,L]

我仍然不明白为什么单个RewriteRule不能匹配“?”之后的字符串。它仅适用于字符串“?”之前的部分。

如果有人可以解释,我将不胜感激。谢谢!

0 个答案:

没有答案