我刚刚为一个网站创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为了解决我原来的提议)