【问题标题】:Laravel 4.2 on Nginx getting 404 (VPS)Nginx 上的 Laravel 4.2 获得 404 (VPS)
【发布时间】:2017-06-26 15:58:58
【问题描述】:

我正在尝试在 nginx 上使用 Laravel 4.2。我有一个 VPS(Dreamhost),我将 Laravel 框架放在用户的根路径中(/home/vi360/),公共路径在/home/vi360/vide360.com.br

我一直在研究为 Laravel 设置 nginx 的几种方法,但没有取得任何成功。只有主页正在打开 (www.vide360.com.br),但所有其他页面(由 /home/vi360/app/routes.php 指导)都返回错误 404。

我创建了/home/vi360/nginx/vide360.com.br/vide360.conf,如下所示:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /home/vi360/vide360.com.br;
    index index.php index.html index.htm;

    server_name [server ip address];

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

我可能做错了什么?

【问题讨论】:

    标签: laravel nginx vps


    【解决方案1】:

    我猜你更改了公用文件夹名称。

    Laravel 在 public 文件夹中查找它的文件。假设您的 laravel 应用程序在 /home/vi360 上运行,那么您的公用文件夹路径将是 /home/vi360/public

    然后在你的 nginx 上,应该是这样的

    root /home/vi360/public;
    

    尝试将vide360.com.br 文件夹重命名为public,就可以了。这是因为框架通过启动并转发到public/index.php 文件来遵循请求。

    设置更改后不要忘记重启nginx和php-fpm。

    编辑

    如果开发人员想要将 laravel 的公共目录从 public 文件夹更改为其他文件夹,例如 vide360.com.br,然后编辑位于 App\Providers\AppServiceProvider.phpApplication Service Provider (ASP)。在register 方法下添加带有new public folder name 的代码。

     $this->app->bind('path.public', function() {
            return base_path().'/vide360.com.br';
        });
    

    【讨论】:

    • 感谢您的回复!我已经更改了“/home/vi360/boostrap/path.php”以将公共文件夹识别为“vide360.com.br”(这是服务器公共的默认路径)。顺便说一句,如果索引页面正在打开,那么框架就可以很好地引导,对吗?
    • @DanielGroppo 代码已更新为您的方案。您必须将新位置绑定到应用程序,以便代码可以检测到它。更改引导路径只会将请求发送到您的新文件夹,而不是应用程序来检测新位置。
    猜你喜欢
    • 2016-10-25
    • 1970-01-01
    • 2016-08-16
    • 2020-04-14
    • 2020-08-21
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多