【问题标题】:Nginx Returning 404 with Static Files in SubfolderNginx 返回 404,子文件夹中有静态文件
【发布时间】:2020-11-03 10:01:59
【问题描述】:

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

【问题讨论】:

    标签: laravel nginx


    【解决方案1】:

    经过大量故障排除和阅读 nginx 文档后,这是一个快速修复。

    我需要添加 ^~ 以让 nginx 知道它可以“停止搜索”其他 location 块。

    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;
    

    【讨论】:

      猜你喜欢
      • 2018-08-18
      • 2014-06-07
      • 1970-01-01
      • 2017-06-05
      • 2021-11-01
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      相关资源
      最近更新 更多