nginx泛解析二级域名的重定向目录的问题

server {
  listen 80;
  server_name *.xx.com;
  access_log off;
  index index.html index.htm index.php;
  root /data/wwwroot/www.xx.com;
  if ( $host != 'www.xx.com' ) {
     rewrite (.*).xx.com www.xx.com/$1 ;
  }

www.xx.com 根目录/data/wwwroot/www.xx.com;
bj.xx.com 是要指向 /data/wwwroot/www.xx.com/bj

阅读 3k
1 个回答
set $subdomain '';
  if ( $host ~* "(?:(\w+\.){0,})(\b(?!www\b)\w+)\.\b(?!(com|org|gov|net|cn)\b)\w+\.\w+" ) { 
    set $subdomain "/$2"; 
  }
  root /data/wwwroot/www.xx.com/$subdomain;

这样完美