Laravel Nginx 除 `/` 外所有路由 404

是这样的,我完成一个Laravel项目后,打算把它转移到Nginx上,之前图方便,所以在开发环境下都是php-Slocalhost:1234来启动HTTP服务器,并没有在Nginx下开发,服务器是Ubuntu14.10。
把整个项目复制到/usr/share/nginx/html后,修改app/storage权限为777,然后浏览器访问/可以访问,但除了/路由其他路由全部返回404,比如/home返回404NOTFOUND,而在开发时是没有这些问题的。数据库这些都没问题,因为开发是在同一台机上。
下面是我的Nginx配置文件:
configserver{
listen80default_server;
listen[::]:80default_serveripv6only=on;
root/usr/share/nginx/html;
indexindex.phpindex.htmlindex.htm;
server_namelocalhost;
location/{
try_files$uri$uri//index.php;
}
error_page404/404.html;
error_page500502503504/50x.html;
location=/50x.html{
root/usr/share/nginx/html;
}
location~\.php${
try_files$uri=404;
fastcgi_split_path_info^(.+\.php)(/.+)$;
fastcgi_passunix:/var/run/php5-fpm.sock;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
}
我在stackoverflow看到了同样的问题,于是试着修改我的Nginx配置文件添加上:
configtry_files$uri$uri/@rewrite;
location@rewrite{
rewrite^/(.*)$/index.php?_url=/$1;
}
还是404,未能解决。
后来我又在Nginx根目录下新建了一个Laravel项目,修改app/storage权限后访问根路由正常,而访问其他自定义路由同样404,比如:
app/route.php
phpRoute::get('home',function()
{
returnView::make('hello');
});
水平实在菜,真是无计可施了,请高手解疑,非常感谢。
holdtom
浏览 407回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript