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


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



Nginx配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;
         }
}