Laravel路由和NGINX配置

时间:2018-06-13 18:51:59

标签: php nginx laravel-5

我正在尝试使用现有的NGINX配置设置一个新的Laravel应用程序......我们的想法是可以访问www.my-domain.com/newapp。但是,我似乎无法使NGINX配置正常工作:

location /newapp{
    rewrite ^/newapp/(.*)?$ /newapp/public/index.php?$1 last;
    try_files $uri $uri/ /index.php?$query_string;
} 

这只是带我到我尝试的每条路线的404页面。这是一个示例路线:

Route::get('/', function(){
    return "hello, world!";
});

一时兴起,我尝试更改默认路线以使用" newapp"在路上,瞧瞧 - 它奏效了!

Route::get('/newapp', function(){
    return "hello, world!"; // This works for some reason?
});

我不明白这里发生了什么......看起来路线不应该包括" newapp"被重写后。当我查看NGINX日志时,我看到类似这样的内容:

rewritten data: "/newapp/public/index.php", args: ""

这正是我所期待的 - 为什么路由似乎需要" newapp",即使它不是传递给index.php的参数的一部分?

1 个答案:

答案 0 :(得分:0)

因此,经过多次扯皮,我只能得出结论,这就是Laravel的路由应该如何运作。我通过添加" newapp"来解决这个问题。作为应用程序中Web和API路由的前缀。这至少为我省去了需要将它单独添加到每条路线的麻烦。