一般B2C或者C2C商城项目都会有二级域名店铺这个需求,本文利用Nginx实现二级域名店铺。


二级域名只访问店铺的首页,商品页依然采用www域名



Nginx配置如下:

server {

        listen 0.0.0.0:80;
        server_name *.abc.com;
        if ($host ~* (.*)\.abc.com){
                set $shop_name $1;
        }
        if ($shop_name = ""){
                rewrite .* http://www.abc.com permanent;
        }
        if ($shop_name !~* "^(www|passport|item)$"){    #定义排除的域名
                rewrite ^/($|index.*$|Index.*$) /shop.php?sid=$shop_name last;   #首页做伪静态
                rewrite ^/(.*)$ http://www.abc.com/$1 permanent;    #其他页面跳转到www
                #如果需要店铺中的商品也采用二级域名的方式则可以用以下配置
                #rewrite ^/(.*)$ /$1 last;
        }
        location / {
                proxy_set_header Host      #指定主机头 
                proxy_pass http://192.168.1.100;
        }
}