我正在子文件夹中安装一个Laravel应用程序,只有静态文件(JS/CSS(返回404。
我认为php位置块需要一些额外的东西,但不确定。
有其他人遇到过这种情况,或者可以提供一些修复静态文件以正确服务的建议吗?
location /laravel {
alias /var/www/laravel/public;
try_files $uri $uri/ @app;
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_pass unix:/var/run/php7.4-fpm.sock;
include fastcgi_params;
}
}
location @app {
rewrite /laravel/(.*)$ /laravel/index.php?/$1 last;
}
经过大量的故障排除和阅读nginx文档,这是一个快速的解决方案。
我需要添加CCD_ 1来让nginx知道它可以";停止搜索";相对于其它CCD_ 2块。
location ^~ /laravel {
alias /var/www/laravel/public;
try_files $uri $uri/ @app;
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_pass unix:/var/run/php7.4-fpm.sock;
include fastcgi_params;
}
}
location @app {
rewrite /laravel/(.*)$ /laravel/index.php?/$1 last;
}
我希望这能帮助其他人,因为我花了好几天的时间才弄清楚。
此外,请确保你的fastcgi_params
有以下内容,而不是你在网上找到的不同变体之一:
fastcgi_param SCRIPT_FILENAME $request_filename;