NGINX重写URL如果特定的域名和特定的url

当用户使用root(aka /)url访问特定的域名时,我需要重写url。 到目前为止我有:

server { listen 80; server_name name1.com name2.com; location = / { # Well, I need this only for NAME2.COM (it should not rewrite NAME1.COM) rewrite name2.com/users/sign_in } } 

如何重写仅适用于NAME2.COM。 有时NGINX语法会使我的堆栈溢出。 请帮忙。

你应该拆分你的服务器块。 请参阅: http : //wiki.nginx.org/Pitfalls

 server { listen 80; server_name name1.com; location = / { # no rewrite here } } server { listen 80; server_name name2.com; location = / { # your rewrite here } } 

你会使用, if ,像这样:

 server { listen 80; server_name name1.com name2.com; location = / { if ($host = name2.com) { rewrite ^ /users/sign_in last; } } }