location ~ \.(jpg|png|css|js|html|json|svg|jpeg) {
try_files $uri =404;
}
location ~ ^/amk(.*) {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass localhost:9000;
fastcgi_param SCRIPT_FILENAME $document_root/amk/app.php;
}
location ~ ^/ewan(.*) {
include fastcgi_params;
fastcgi_pass localhost:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root/ewan/app.php;
}
基本上,我想保留这个 nginx 配置,但是目录会改变 所以它可能是 amk 也可能是 mcaq 所以我希望 https://example.com/apps/FOLDER 将 php 重定向到 $document_root/FOLDER/app.php 但是 https://example.com/apps/FOLDER/images/test.jpg 转到 $document_root/FOLDER/images/test.jpg 有什么想法吗?
答案 0 :(得分:0)
location ~ \.(jpg|png|css|js|html|json|svg|jpeg) {
rewrite ^/apps(/.*)$ $1 break;
try_files $uri =404;
}
location ~ ^/apps/([^/]+)/?(.*?)$ {
set $site $1;
set $loc $2;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass localhost:9000;
fastcgi_param SCRIPT_FILENAME $document_root/$site/app.php;
}
这是我找到的解决方案。