htaccess 重写规则附加查询字符串参数
我正在尝试为以下 URL 编写重写规则:将
www.domain.com/mbc-ex
重定向到www.domain.com
www.domain.com /mbc-ex?abcd=123
到www.domain.com
基本上,我不想在重定向后有任何查询字符串参数。这是我尝试过的规则,
^/mbc-ex\?(.*)$ http://www.domain.com [NC,L,U]
上面的规则仍然附加查询字符串参数,
^/mbc-ex$ http://www.domain.com [NC,L,U]
这个规则按预期工作
I am trying to write a rewrite rule for below URLs: redirect
www.domain.com/mbc-ex
towww.domain.com
www.domain.com/mbc-ex?abcd=123
towww.domain.com
Basically, I do not want to have any query string parameters after redirection. Here is the rule I tried
^/mbc-ex\?(.*)$ http://www.domain.com [NC,L,U]
the above rule still appends the query string parameters
^/mbc-ex$ http://www.domain.com [NC,L,U]
this one works as expected
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的正则表达式似乎根本不匹配。
根据 http://httpd.apache.org/docs/2.0/ 的示例Misc/rewriteguide.html,问号上不需要使用反斜杠。
这是一个方便的在线测试工具,用于检查您的规则:http://martinmelin.se/rewrite-rule-tester /
使用它,我可以使用以下规则使您的网址正常工作:
It would appear that your regex is not matching at all.
According to the examples at http://httpd.apache.org/docs/2.0/misc/rewriteguide.html, you do not need to use the backslash on the question mark.
Here's a handy online test tool for checking your rules: http://martinmelin.se/rewrite-rule-tester/
Using that I was able to get your url to work properly using the following rule:
您需要 QSD|qsdiscard 标志
自 apache2 2.4.0
Pre 2.4.0 起:添加 ?到你新网址的末尾
You need the QSD|qsdiscard flag
Since apache2 2.4.0
Pre 2.4.0: Add a ? to the end of you new url