nginx与子网站中的网站不匹配网址的末尾

van*_*bel 5 nginx laravel-5

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

此外,似乎有一个由laravel官员建议的nignx规则,使网址看起来很漂亮

location / {
         try_files $uri $uri/ /index.php?$query_string;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在我的情况下使用它?


UPDATE

看来下面的代码对我有用(但在RouteCollection.php第145行给出错误NotFoundHttpException:可能是由我的路由器设置引起的)

  location /laravel{
    root /home/usr/proj/laravel/public;
    index index.php index.html;
    try_files $uri $uri/ /laravel/public/index.php?$query_string;
  }
Run Code Online (Sandbox Code Playgroud)

Pan*_*ais 0

关于您的更新,我认为您应该保留原来的try_files语法:

try_files $uri $uri/ /index.php?$query_string;
Run Code Online (Sandbox Code Playgroud)

因为位置设置为/laravel并且根目录位于公共文件夹中。目前的写法最终是寻找文件/home/usr/proj/laravel/public/public/index.php在磁盘中查找文件。

您还应该检查配置应用程序 URL,使其包含/locationURL 的一部分。我不太确定 Laravel 5 是如何配置的,因为我的经验是 Laravel 4。