我正在尝试为以下网址编写重写规则:redirect
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]
这个按预期工作
答案 0 :(得分:0)
看起来您的正则表达式根本不匹配。
^/mbc-ex\?(.*)$ http://www.domain.com [NC,L,U]
根据http://httpd.apache.org/docs/2.0/misc/rewriteguide.html的示例,您不需要在问号上使用反斜杠。
这是一个方便的在线测试工具,用于检查您的规则:http://martinmelin.se/rewrite-rule-tester/
使用它我可以使用以下规则让您的网址正常工作:
RewriteRule ^mbc-ex/?(.*) http://www.domain.com [NC,L,U]
答案 1 :(得分:0)
您需要QSD | qsdiscard标志
^/mbc-ex http://www.domain.com [NC,L,U,QSD]
自apache2 2.4.0起
Pre 2.4.0:添加?到你的新网址结尾
^/mbc-ex http://www.domain.com? [NC,L,U]