網站的目錄結構為:
# tree /home/wwwroot/exehack.net
/home/wwwroot/exehack.net
├── bbs
│ └── index.html
└── www
└── index.html
2 directories, 2 files
/home/wwwroot/exehack.net為nginx的安裝目錄下默認的存放源代碼的路徑。
bbs為論壇程序源代碼路徑;www為主頁程序源代碼路徑;把相應程序放入上面的路徑通過;http://www.exehack.net 訪問的就是主頁http://bbs.exehack.net 訪問的就是論壇,其它二級域名類推。
有2種方法,推薦方法一
server {listen 80;server_name ~^(?<subdomain>.+).exehack.net$;access_log /data/wwwlogs/exehack.net_nginx.log combined;index index.html index.htm index.php;root /home/wwwroot/linuxeye/$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 *.exehack.net;access_log /home/wwwlogs/exehack.net_nginx.log combined;index index.html index.htm index.php;if ($host ~* ^([^/.]+)/.([^/.]+/.[^/.]+)$) { set $subdomain $1; set $domain $2;}location / { root /home/wwwroot/exehack.net/$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; }}
nginx將泛解析的匹配域名綁定到子目錄的配置方法如下
代碼如下:
server {
listen 80;
server_name domain.com *.domain.com;
if ($host ~* ^([^/.]+)/.([^/.]+/.[^/.]+)$) {
set $subdomain $1;
set $domain $2;
}
location / {
root /home/wwwroot/$domain/$subdomain/;
index index.php index.html index.htm;
#include /home/wwwroot/$domain/$subdomain/.ngx.htaccess;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /.php$ {
root /home/wwwroot/$domain/$subdomain/;
新聞熱點
疑難解答