Nginx返回404与子文件夹中的静态文件



我正在子文件夹中安装一个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;

最新更新