有时候当项目根目录存在多个项目时,不仅根目录存在index.php文件,每个子项目又存在index.php文件,我们不仅要重写根目录,也要重写子目录。比如根目录www/project/ 又存在子目录为www/project/admin,重写规则如下:
server {
listen 80;
server_name localhost;
root "www/project";
location / {
index index.php index.html;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location /admin/ {
index index.php index.html;
if (!-e $request_filename) {
rewrite ^/admin/(.*)$ /admin/index.php/$1 last;
break;
}
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
网友评论