用nginxpipe理几个子域

我喜欢在我的Nginx服务器中处理不同的子域,这是我的configuration文件(部分)

server { listen 80 default_server; listen 443 default_server ssl; include ssl/mysite.conf; server_name default_server; rewrite ^(.*)$ https://mysite.com$1 permanent; 

正如您所看到的,所有对subdomain.mysite.com/query的请求都会在httpsredirectmysite.com/query 。 我只想在子域与string1string2不同的情况下执行重写。 所以:

 string1.mysite.com/query ---> https://string1.mysite.com/query foo.mysite.com/query ---> https://mysite.com/query 

您可以指定不同的服务器块到不同的主机名,如build议的AD7six。

在你的情况下,我会写2个服务器块,一个用于string1.mysite.com和string2.mysite.com,另一个没有server_name筛选器来匹配所有其他请求。

像这样的东西:

 server { listen 80 default_server; listen 443 default_server ssl; include ssl/mysite.conf; rewrite ^(.*)$ https://mysite.com$1 permanent; ... } server { listen 80; listen 443 ssl; include ssl/mysite.conf; server_name string1.mysite.com string2.mysite.com; ... } 

server_name指令文档非常好,可以帮助你解决这类问题。 http://nginx.org/en/docs/http/server_names.html