2017-04-25 224 views
0

我一直在尋找這方面的幾個不同的問題來處理這個問題,但沒有一個完全按照我需要的方式工作。.htaccess部分查詢字符串重寫

拿這個網址,例如:

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,但它沒有附加任何附加變量。非常感謝幫助。

UPDATE

使用Manipulating the Query String作爲參考,我已經改變了我重寫爲以下內容:

RewriteCond %{QUERY_STRING} ^(.*)portal=9648(.*)$ 
RewriteRule (.*) /not-right-contact?%1portal=9654%2 [L] 

重寫被附加的查詢字符串數據投入的形式,而是價值門戶網站查詢字符串仍然沒有改變。每當我將規則的第一個值更改爲除(。*)或。?之外的任何值時,我都會收到HTTP 500錯誤。

回答

2

使用[L,QSA]在重定向url的末尾保留並追加查詢字符串

+0

不幸的是,沒有。添加QSA會創建一個HTTP 500錯誤。 –