我有一个旧网站 - 用asp编写。联系表单使用查询字符串来确定访问者看到的表单。
如果游客希望与我联系,可以点击以下链接:
http://example.com/contact.asp
如果他们希望提交错误 - 请点击以下链接
http://example.com/contact.asp?problem=true&.......
其他参数也会在problem
nb:?problem=true&Customer...
之后传递 - 但是,我只需要知道problem=true
在新网站中,我有两个页面:contact.html和help.html
当访问者访问contact.asp
时,他们会被重定向到contact.html
- 由于以下重定向规则:
RewriteRule ^contact\.asp$ http://example.com/contact-us.html [R=301,L]
但是,我遇到了很大的问题
http://example.com/contact.asp?problem=true
重定向到help.html
我找到了大量的例子 - 但是没有一个可以工作..页面总是重定向到contact.html
我甚至已经注释掉了上面的重写规则,看看我的problem=true
规则是否被覆盖......这返回了404.我的问题=真正的规则不起作用。
我一直在关注以下示例:http://www.simonwhatley.co.uk/apache-htaccess-query-string-redirects
所以回顾一下,我想将contact.asp?problem = true重定向到help.html,并将contact.asp重定向到contact.html
非常感谢,
罗布
答案 0 :(得分:4)
在匹配查询字符串时,不确定您尝试了什么,但以下情况应该有效。
RewriteCond %{QUERY_STRING} ^problem=true
RewriteRule ^contact\.asp$ http://primarysite.net/help.html [R=301,L]
RewriteRule ^contact\.asp$ http://primarysite.net/contact-us.html [R=301,L]
希望有所帮助。