目前,我使用以下设置将非www域重定向到www域,并且它正常运行:
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
}
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://www.example.com:8888;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
但是,现在我想允许使用通配符子域,但似乎所有子域都被重定向到www.domain.com。所以我的问题是我怎样才能使它只将根域重定向到www并排除所有其他子域?感谢。
答案 0 :(得分:1)
第一个服务器块也是隐式默认服务器,这意味着任何与www.example.com
不匹配的域名都将由它处理。
如果您希望第二个服务器块处理除example.com
以外的所有域,则可以通过向{添加default_server
选项显式地将其设为默认服务器 {1}}指令。有关详细信息,请参阅this document。
例如:
listen