Laravel更改路径上下文

时间:2018-10-16 05:28:36

标签: php laravel nginx laravel-5.7

我有Laravel(5.7)项目,并将被部署到具有多个项目的服务器(nginx)。我正在使用Apache在本地计算机上运行该项目,并且尝试使用子目录运行该项目,并且该项目正在我的计算机上运行。

我们在服务器子目录(nginx)中部署我的项目时遇到问题,我不知道Laravel项目是否存在问题,因为每次我们转到项目的http://172.1.1.1/sample时,它总是显示Laravel的“ 404页面未找到”,因为Laravel认为/ sample是路径,因此我认为172.1.1.1/sample运行Laravel,但它没有以/ sample为根,但是当我们转到172.1.1.1时,在这里运行的项目正在运行。我已经做的是在我的Laravel项目中添加以下代码。

在我的AppServiceProvider.php中-添加以下代码:

public function boot()
{

       \URL::forceRootUrl(\Config::get('app.url'));   

        if (str_contains(\Config::get('app.url'), 'https://')) {
            \URL::forceScheme('https');
            //use \URL:forceSchema('https') if you use laravel < 5.4
        }
    }

这样,当我在项目的.env中更改APP_URL时,它将起作用。

APP_URL=http://localhost:9021/sample

并在我的公用文件夹的.htaccess中添加以下内容:

RewriteEngine On
RewriteBase /sample/

因此它适用于我的本地计算机,但是当我们尝试部署它时却无法使用。一旦我们转到172.1.1.1/sample(sample-ip),它将仅显示“ 404页面未找到”。

我想知道的是,是否还有其他方法可以更改laravel 5.7的上下文路径。因为我不是在服务器中配置nginx的人,但是我想确保问题不是由于Laravel 5.7造成的。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

请参阅此文档

laravel with nginx