2016-08-02 29 views
0

我目前有各種重定向的URL網頁以下位置塊:NGINX:不贊成使用重定向的URL列表主頁

location ~ ^/events/?(.*)$ { 
    return 301 /; 
} 

location ~ ^/news/?(.*)$ { 
    return 301 /; 
} 

location ~ ^/about/?(.*)$ { 
    return 301 /; 
} 

... 

從本質上講,所有/events, /events/, /news, /news/, /about, /about/重定向到/

有沒有更乾淨的方式做到這一點,不是很溼?

回答

1

你設置的方式非常好,它已經很乾淨,因爲你可以看到你在做什麼。

如果你真的想把它當作一個location塊,這會做的伎倆:

location ~ ^/(events|news|about)?/.*$ { 
    return 301 /; 
} 

的解釋:

這裏,這個位置將在括號匹配任何URI,它是可選的( ?)爲它包含尾部斜線。您不需要(.*),因爲您不以任何方式將這部分字符串用作後向引用,因此您不需要存儲它。 (當然你也可以,也沒關係。)

+0

美麗,非常感謝! – robinnnnn

+0

這是一種樂趣,很高興我可以幫助:) –