我需要创建一些重写(可能是返回?)规则......
我需要重定向:
www.domain1.es/es
至www.domain1.es
www.domain1.es/en
至www.domain2.eu/en
www.domain1.es/fr
至www.domain2.eu/fr
还需要:
www.domain2.eu/es
至www.domain1.es
我会感激任何帮助!谢谢!
答案 0 :(得分:0)
使用en
指令可轻松实现fr
和return
重定向。在server
域的www.domain1.es
块中,您可以尝试:
location ^~ /en { return 301 $scheme://www.domain2.eu$request_uri; }
location ^~ /fr { return 301 $scheme://www.domain2.eu$request_uri; }
请注意^~
修饰符使此前缀位置优先于同一级别的任何正则表达式位置。有关详细信息,请参阅this document。
从URI中删除/es
前缀需要重写。你可以试试这些:
在server
域的www.domain1.es
块中:
rewrite ^/es(.*)$ $1 permanent;
在server
域的www.domain2.eu
块中:
rewrite ^/es(.*)$ $scheme://www.domain1.es$1 permanent;
上述任何一个都可以置于location ^~ /es
块内以提高效率(但我认为没有必要)。此外,后者不需要删除/es
前缀(因为它在其他服务器上完成)。