需求:
nginx目前配置已有/home/web1配置.
http://test.com/web1
http://test.com/web1/1.php 都可以访问
现在想配置/home/web2 能浏览目录,/home/web2/1.php能正常访问?l
location ~ /web2.?.php$ {
root /home/web2;
fastcgi_pass 127.0.0.1:8188;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME /home/web2$fastcgi_script_name;
}
location /web2 {
root /home/map;
autoindex on;
index index.php index.html;
#这里不要有fastcgi_pass这些片段
}
location / {
autoindex on;
root /home/web1/webroot;
index index.php index.html index.htm;
if (!-f $request_filename){
rewrite ^(.+)$ /web1/index.php last;
}
}
location ~.php$ {
root /home/web1/webroot;
fastcgi_pass 127.0.0.1:8188;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
注意几点:
- location顺序些问题
从上到下依次匹配,需要把特殊的放到前面 - 对于不同root目录,fastcgi_param SCRIPT_FILENAME 需要单独配置.