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

网站的目录结构为:

  1. # tree /home/wwwroot/linuxeye.com
  2. /home/wwwroot/linuxeye.com
  3. ├── bbs
  4. │   └── index.html
  5. └── www
  6.     └── index.html
  7. 2 directories, 2 files

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

bbs为论坛程序源代码路径;www为主页程序源代码路径;把相应程序放入上面的路径通过;http://www.linuxeye.com 访问的就是主页http://bbs.linuxeye.com 访问的就是论坛,其它二级域名类推。

有2种方法,推荐方法一

方法一:

  1. server {
  2. listen 80;
  3. server_name ~^(?<subdomain>.+).linuxeye.com$;
  4. access_log /data/wwwlogs/linuxeye.com_nginx.log combined;
  5. index index.html index.htm index.php;
  6. root /home/wwwroot/linuxeye/$subdomain/;
  7. location ~ .php$ {
  8.     fastcgi_pass unix:/dev/shm/php-cgi.sock;
  9.     fastcgi_index index.php;
  10.     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  11.     include fastcgi_params;
  12.     }
  13. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
  14.     expires 30d;
  15.     }
  16. location ~ .*\.(js|css)?$ {
  17.     expires 7d;
  18.     }
  19. }

方法二:

  1. server {
  2. listen 80;
  3. server_name *.linuxeye.com;
  4. access_log /home/wwwlogs/linuxeye.com_nginx.log combined;
  5. index index.html index.htm index.php;
  6. if ($host ~* ^([^\.]+)\.([^\.]+\.[^\.]+)$) {
  7.     set $subdomain $1;
  8.     set $domain $2;
  9. }
  10. location / {
  11.     root /home/wwwroot/linuxeye.com/$subdomain/;
  12.     index index.php index.html index.htm;
  13. }
  14. location ~ .php$ {
  15.     fastcgi_pass unix:/dev/shm/php-cgi.sock;
  16.     fastcgi_index index.php;
  17.     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  18.     include fastcgi_params;
  19.     }
  20. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
  21.     expires 30d;
  22.     }
  23. location ~ .*\.(js|css)?$ {
  24.     expires 7d;
  25.     }
  26. }
Mon Sep 14 15:06:57 CST 2015

【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!