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

时间:2015-12-31 03:05:58

标签: 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位置。

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

location / {
         try_files $uri $uri/ /index.php?$query_string;
}

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

更新

以下代码似乎适用于我(但在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;
  }

1 个答案:

答案 0 :(得分:0)

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

try_files $uri $uri/ /index.php?$query_string;

因为该位置设置为/laravel,并且根位于公用文件夹中。当前编写的方式最终会在磁盘中查找文件/home/usr/proj/laravel/public/public/index.php

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