我正在尝试使用现有的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的参数的一部分?
答案 0 :(得分:0)
因此,经过多次扯皮,我只能得出结论,这就是Laravel的路由应该如何运作。我通过添加" newapp"来解决这个问题。作为应用程序中Web和API路由的前缀。这至少为我省去了需要将它单独添加到每条路线的麻烦。