2013-08-29 59 views
1

如果/ c /是URL參數的一部分,那麼我想在URL參數的末尾添加參數。因爲參數可能增加或減少。重定向重寫規則,在url結尾添加參數

http://example.com/c/file.php?par1=val1&par2=val2 

我需要在這樣的URL末尾添加兩個參數&addpar1=val&addpar2=val

http://example.com/c/file.php?par1=val1&par2=val2&addpar1=val&addpar2=val 

我想在這裏做的事:

 RewriteEngine On 
    RewriteCond %{REQUEST_URI} ^/c/(.*)$ [NC] 
    RewriteRule /c/ /%1 [QSA] 

請建議我應該怎樣寫在這裏RewriteRule

回答

2

您的規則很接近,但實際上並沒有向查詢字符串添加任何內容。嘗試:

RewriteEngine On 
RewriteCond %{QUERY_STRING !&addpar1=val&addpar2=val 
RewriteRule ^/?c/(.*)$ /%1?%{QUERY_STRING}&&addpar1=val&addpar2=val [L] 

在這裏,你需要檢查的參數已經添加,然後將它們添加到查詢字符串的結尾。您不希望QSA標誌位於此處,因爲您正在手動執行附加操作。

如果您想要重定向瀏覽器以便他們看到查詢字符串,那麼您需要在方括號中用RR=301標誌(用逗號分隔)。