Laravel 拉威尔+;宅地+;nginx代理:在我的路由中获取正确的url

Laravel 拉威尔+;宅地+;nginx代理:在我的路由中获取正确的url,laravel,nginx,laravel-5,homestead,Laravel,Nginx,Laravel 5,Homestead,我有一个专门的服务器,有一个Laravel 5项目和Homestead,安装和工作正常。 我刚刚在Homestead.yml中添加了一个todo.app行,如下所示: sites: - map: todo.app to: /home/vagrant/Code/todo-app/public location /todo/ { resolver 127.0.0.1; proxy_pass http://todo.app:8000/;

我有一个专门的服务器,有一个Laravel 5项目和Homestead,安装和工作正常。 我刚刚在Homestead.yml中添加了一个todo.app行,如下所示:

sites:
    - map: todo.app
      to: /home/vagrant/Code/todo-app/public
location /todo/ {
        resolver 127.0.0.1;
        proxy_pass http://todo.app:8000/;
        proxy_redirect off;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
为了从外部访问它,我配置了一个nginx反向代理,如下所示:

sites:
    - map: todo.app
      to: /home/vagrant/Code/todo-app/public
location /todo/ {
        resolver 127.0.0.1;
        proxy_pass http://todo.app:8000/;
        proxy_redirect off;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
然后,我在hosts文件中添加了一行,将todo.app解析为127.0.0.1,并将dnsmasq安装为nginx的解析器


如果我浏览,除了我的路由之外,其他一切都正常工作:框架生成的每个URL都会忘记子目录。例如,登录URL为:但应为。更改.env文件中的应用程序URL不会有任何帮助。

您是否尝试将所有路由分组并在所有路由中添加“todo”前缀?
以下是一个例子:

Route::group(['prefix' => 'todo'], function(){
    Route::get('index','HomeController@index')->name('Homepage');
    ... 
    //The rest of the routes
}
如果您愿意接触此安装的代码,这可能是您的解决方案

如果您需要预定义管线上的自定义行为,并且正在使用:

Route::auth();
在路由文件中,您应该删除该行并创建自己的路由。
您可以使用以下屏幕截图作为指导,查看上一个命令自动为您生成的内容,并使用它自定义和创建自己的路由:

请审查:

您可以使用:

php artisan route:list

命令将映像结果复制到您自己的解决方案中。

您是否尝试将所有路由分组并向所有路由添加“todo”前缀?
以下是一个例子:

Route::group(['prefix' => 'todo'], function(){
    Route::get('index','HomeController@index')->name('Homepage');
    ... 
    //The rest of the routes
}
如果您愿意接触此安装的代码,这可能是您的解决方案

如果您需要预定义管线上的自定义行为,并且正在使用:

Route::auth();
在路由文件中,您应该删除该行并创建自己的路由。
您可以使用以下屏幕截图作为指导,查看上一个命令自动为您生成的内容,并使用它自定义和创建自己的路由:

请审查:

您可以使用:

php artisan route:list

命令将映像结果复制到您自己的解决方案中。

我将127.0.0.1替换为192.168.10.10,因为专用服务器中的网络环境不允许我访问它。我将127.0.0.1替换为192.168.10.10,因为专用服务器中的网络环境不允许我访问它。它不起作用。我访问我的webapp的url和框架生成的url保持不变:您使用的是什么版本的Laravel?5.1或5.2?它不起作用。我访问我的webapp的url和框架生成的url保持不变:您使用的是什么版本的Laravel?5.1还是5.2?