2011-05-05 126 views
2

我有一个老网站 - 用asp写的。联系表单使用查询字符串来决定访问者看到的形式。他们通过点击下面的链接Apache mod_rewrite查询字符串问题

http://example.com/contact.asp?problem=true&....... 
这样做 -

http://example.com/contact.asp 

如果他们希望提交一个错误:

如果位访问者希望只是与我联系,他们可以通过点击链接即可

附加参数后problem NB也通过:?problem=true&Customer... - 不过,我只需要知道,如果problem=true

我n个新的网站,我有两个页面: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 MASSIVE问题重定向到help.html

我发现吨的例子 - 但他们没有工作..页面总是重定向到contact.html

我甚至已将上述重写规则注释掉,以查看我的problem=true规则是否被覆盖了....这返回了404。我的问题=真规则不起作用。

我一直在下面的例子如:http://www.simonwhatley.co.uk/apache-htaccess-query-string-redirects

因此,要回顾一下,我想重定向contact.asp问题= true来help.html,并contact.asp到contact.html

许多在此先感谢,

罗布

+0

你应该真的考虑**接受**你的答案(勾选'V'标记)。否则,人们将停止回答你的问题。 – 2012-05-21 14:19:39

+0

谢谢 - 我没有意识到你必须剔除。花了我一段时间找到它。 – Rob 2012-05-21 14:58:49

回答

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] 

希望有所帮助。

+0

如果我有足够高的声望,我会尽可能高的投票给你!谢谢!此作品完全按照要求工作:D – Rob 2011-05-05 11:52:47

+0

很高兴为您效劳! 1票就够了,但你可以接受答案**正确答案**左边的答案:) – clmarquart 2011-05-05 12:05:23