需要一些帮助优化Nginx中的301redirect

我刚刚为一个网站创build了一个新的结构,我需要一些帮助redirect到新的地方。

这个代码在这里,但我想这可以优化很多。

location = /nl { rewrite ^ $scheme://$server_name permanent; } location = /nl/ { rewrite ^ $scheme://$server_name permanent; } location = /en { rewrite ^ $scheme://$server_name permanent; } location = /en/ { rewrite ^ $scheme://$server_name permanent; } location = /nl/contact { rewrite ^ $scheme://$server_name/contact/ permanent; } location = /en/contact { rewrite ^ $scheme://$server_name/contact/ permanent; } 

重写不必在位置块 – 并可以匹配正则expression式。

两次重写可能会有一些成功:

 rewrite ^/(en|nl)(/contact)(/?)$ $scheme://$server_name/contact/ permanent; rewrite ^/(en|nl)(/?)$ $scheme://$server_name permanent; 

或者,您可以将前4个和后2个位置块与正则expression式匹配 – 但这确实有可能匹配优先级(这可能不是很重要)。

(感谢@ Saif Bechan为了解决我原来的提议)