從URL

2017-08-08 37 views
1

刪除特定的查詢參數我有一個網址,如:從URL

http://www.example.com/something?abc=one&def=two&unwanted=three 

我想刪除URL參數不必要的和保持URL的其餘部分完好無損,它應該是這樣的:

http://www.example.com/something?abc=one&def=two 

這個特定的參數可以在URL的任何地方相對於其他參數。

這個問題看起來很簡單,但我嘗試了很多次,但最終失敗了。

回答

1

整個查詢字符串存在於$args變量或$request_uri變量的末尾。您需要構造一個正則表達式來捕獲您希望刪除的部分前後的所有內容。

例如:

if ($request_uri ~ ^(/something\?.*)\bunwanted=[^&]*&?(.*)$) 
{ 
    return 301 $1$2; 
} 

參見this document更多,和this caution對使用​​if