当我尝试使用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;
}
答案 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。