我们目前有一个通配符虚拟主机接受所有的域名请求。
我想redirectsubdomain.domain.com到www.subdomain.domain.com所以我的通配符将回答
有一个例外,我不想将www.domain.comredirect到www.www.domain.com
如何实现? 我放在一起(在通配符块之外),但它不处理exception,并不确定variables的事情
if ($http_host ~ (.*).domain.com) { set $test P; } if ($http_host != www.domain.com) { set $test "${test}C"; } if ($http_host != www.*.domain.com) { set $test "${test}D"; } if ($test = PCD) { rewrite ^(.*)$ www.%1.domain.com$1 permanent; }
谢谢
我会用这个:
server { listen 80; server_name www.example.com example.com; # this is default server. ... } server { listen 80; server_name www.*; # here www.*.example.com .. } server { listen 80 default_server; return 301 http://www.$host$request_uri; }