2017-07-13 91 views
-1

我對Nginx的正則表達式新手,我想只是爲了創造一個鏈接 例的重寫規則:Nginx的重寫正則表達式

http://www.mywebsite.com/category/new - >http://www.mywebsite.com/category/new-new

http://www.mywebsite.com/category/new/men - >http://www.mywebsite.com/category/new-new/men

我想這

location ~ ^/category/new/?$ { 
    return 301 /category/new-new$is_args$args; 
} 

謝謝你的幫助。

+0

所以,你試過以上,並且結果是什麼?你需要什麼幫助? – cnst

+0

我需要幫助爲第二次重定向編寫正則表達式。我不能../new/new/men與../new-new/men。謝謝 – mzpx

回答

0

您的示例沒有建立清晰的模式,因此如果不知道完整的圖片就無法設計出最佳解決方案。

例如,如果它是源和目標之間的隨機映射列表,那麼最好的方法是使用map指令,請參閱http://nginx.org/r/map

否則,如果你的目的是要重寫任何/category/new//category/new-new/,那麼下面可以使用:

location = /category/new { 
    return 302 /category/new-new; 
} 
location /category/new/ 
    rewrite ^/category/new/(.*)$ /category/new-new/$1 redirect; 
    return 403; 
}