2017-08-03 127 views
1

如何通過nginx中的重寫規則從URL http://myserver.com//data/app?foo1=bar1&foo2=bar2中刪除多個斜槓?Nginx重寫參數問題

我正在嘗試重寫正則表達式,但未能成功完成查詢字符串,即在重定向中使用foo1和foo2參數。

+0

哪裏''//來自何處? 'rewrite'指令在標準化的URI上運行,並且不會看到嵌入的''''或'?'或查詢字符串。 –

+0

我們的客戶之一正在發送此類請求。由於某些奇怪的原因,我們無法在客戶端進行修復。所以我們試圖在nginx端修復這個請求以開始工作。 JFYI,我們已經設置了merge_slashes關閉,並且我們通過重寫url來手動標準化URL,因爲nginx並沒有以某種方式標準化URL(默認的merge_slashes on) – Reefaq

+0

值'$ uri'應該被標準化,但值'$ request_uri '不是。當人們使用'request_uri'(例如'proxy_pass')時,我遇到了一些問題,這會使規範化失敗。 –

回答

1

你可以嘗試下面的規則:

rewrite ^\/\/data/app/(.*) /data/app/$1 last; 
+0

感謝薩加!這對我有用。 – Reefaq