2017-05-05 101 views
0

我試圖在Nginx的重寫規則,包含「放?」在請求結束,就像這樣:重定向301 Nginx的查詢字符串「放?」 - AMP Nginx的重定向

From 
http://mywebsite.com/path1/lalala?amp 

To 
http://mywebsite.com/path1/lalala 

這是一個重定向301. 我試過一些規則,但他們不工作,我得到了許多重定向(循環)。

沒有工作的例子。

rewrite ^/path1/lalala.*? htttp://mywebsite.com/path1/lalala? permanent; 

Or 

rewrite ^/path1/lalala.*? /path1/lalala? permanent; 

我認爲問題出在查詢字符串「?amp」。 你知道如何做這個重定向嗎?

+0

可能的重複[Nginx重定向的具體參數列表](http://stackoverflow.com/questions/42843692/nginx-redirecting-for-specific-list-of-arguments) –

回答

0
rewrite ^/path1/lalala[^?]*\? /path1/lalala permanent; 

[^?]*匹配零個或多個字符不是一個問號,所以我們一定要在開始第一個剝皮。

然後,重要的是,?必須用反斜槓轉義,因爲在正則表達式中它們有特殊的含義。

+0

非常感謝你Midgard。 – cROMADO