子目录中站点与url结尾不匹配的nginx

子目录中站点与url结尾不匹配的nginx,nginx,laravel-5,Nginx,Laravel 5,当我尝试使用laravel PHP框架时,我尝试将它放在一个名为/home/usr/proj/laravel的目录中,但正如我们所知,laravel的公共html是在/home/usr/proj/laravel/public中解决的,因此,我的问题是如何设置nginx,以便当我通过mysite.com/laravel/或mysite.com/laravel访问时,我们实际上重定向到位置laravel/public/index.php 此外,似乎有一条nignx规则是由laravel的官员建议的,

当我尝试使用laravel PHP框架时,我尝试将它放在一个名为
/home/usr/proj/laravel
的目录中,但正如我们所知,laravel的公共html是在
/home/usr/proj/laravel/public
中解决的,因此,我的问题是如何设置nginx,以便当我通过
mysite.com/laravel/
mysite.com/laravel
访问时,我们实际上重定向到位置
laravel/public/index.php

此外,似乎有一条nignx规则是由laravel的官员建议的,以使url看起来漂亮

location / {
         try_files $uri $uri/ /index.php?$query_string;
}
我如何在我的案例中使用这个


更新

下面的代码似乎适合我(但在RouteCollection.php第145行中给出错误NotFoundHttpException:,可能是由于我的路由器设置引起的)


关于您的更新,我认为您应该保留原始的
try\u文件
语法:

try_files $uri $uri/ /index.php?$query_string;
因为位置设置为
/laravel
,并且根目录位于公用文件夹中。它当前的编写方式是在磁盘中查找文件
/home/usr/proj/laravel/public/public/index.php


您还应该检查以配置应用程序URL,使其包含URL的
/location
部分。我不太清楚Laravel5是如何配置的,因为我的经验是使用Laravel4。

您应该尝试使用文件$uri$uri//index.php?$query\u string;它似乎也不起作用。如果您从RouteCollection中看到错误-听起来您自己已经解决了问题:)其余的在routes中。phpIt似乎我们应该使用别名而不是根
try_files $uri $uri/ /index.php?$query_string;