Nginx泛解析匹配绑定域名子目录

2013年4月25日 发表评论 阅读评论

网站的目录结构为:

# tree /data1/wwwroot/361way.com
/data1/wwwroot/361way.com
├── bbs
│   └── index.html
└── www
    └── index.html
2 directories, 2 files

/data1/wwwroot/361way.com为nginx的安装目录下默认的存放源代码的路径。

bbs为论坛程序源代码路径

www为主页程序源代码路径

把相应程序放入上面的路径通过

http://www.361way.com 访问的就是主页

http://bbs.361way.com 访问的就是论坛

其它二级域名类推。

实现方法有两种。

方法一:

server {
listen 80;
server_name ~^(?<subdomain>.+).361way.com$;
access_log /logs/www/361way.com_nginx.log combined;
index index.html index.htm index.php;
root /data1/wwwroot/shop/$subdomain/;
location ~ .php$ {
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    expires 30d;
    }
location ~ .*\.(js|css)?$ {
    expires 7d;
    }
}

方法二:

server {
listen 80;
server_name *.361way.com;
access_log /logs/www/361way.com_nginx.log combined;
index index.html index.htm index.php;
if ($host ~* ^([^\.]+)\.([^\.]+\.[^\.]+)$) {
    set $subdomain $1;
    set $domain $2;
}
location / {
    root /data1/wwwroot/$domain/$subdomain/;
    index index.php index.html index.htm;
}
location ~ .php$ {
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    expires 30d;
    }
location ~ .*\.(js|css)?$ {
    expires 7d;
    }
}




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: http/html/web 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.