我一直在寻找处理这个问题的几个不同的问题,但没有一个完全像我需要的那样工作。
以此网址为例:
http://example.com/not-right-contact?portal=9648&...
使用此门户网站ID发送了一封电子邮件,但它不正确。所以,现在我们需要替换它并正确地重定向URL。在门户网站查询字符串后面,有许多字段将在此页面上预填充表单。我们需要保持完整。
以下是我从许多来源拼凑而成的内容:
RewriteCond %{QUERY_STRING} (^|&)?portal=9648
RewriteRule ^(.*)$ /not-right-contact?portal=9654%1%2 [L,NE]
这没有做任何事情。有一次,我将URL重写为最后有portal = 9654,但它没有附加任何其他变量。非常感谢帮助。
更新
使用Manipulating the Query String作为参考,我已将我的重写更改为以下内容:
RewriteCond %{QUERY_STRING} ^(.*)portal=9648(.*)$
RewriteRule (.*) /not-right-contact?%1portal=9654%2 [L]
重写是将附加的查询字符串数据放入表单中,但门户网站查询字符串的值仍未更改。每当我将规则的第一个值更改为除(。*)或。?之外的任何值时,我都会收到HTTP 500错误。
答案 0 :(得分:2)
使用[L,QSA]在您的重定向网址末尾保留并附加查询字符串