phpstudy
laravel5.2
nginx
公司用的laravel框架,安装了vagrant、homestead,而我自己的电脑只是简单的用phpstudy。
之前用composer装的laravel5能正常访问到根目录,但是路由始终失效,我曾怀疑是因为laravel框架在phpstudy里不能正确路由,但后来熟悉了之后感觉二者之间并没有什么隔阂。并且这个博文证实确实没影响。
于是重新下载了一键安装包,就是解压就能用的那种,重新配置。
贴出地址:http://laravelacademy.org/resources-download
解压一件安装包后,配置host及vhost,在路由文件routs.php中写了一个test路由
Route::get('test',function(){
return 'hello';
});
通过 目录/index.php/test 可以访问到页面输出了‘hello’,但省去index.php就访问不到
参考官网的 优雅链接 ,在vhost中的 location / { }中加入try_files $uri $uri/ /index.php?$query_string;
重启nginx后按理说应该就可以了,然而事实是并不能访问,而是显示No input file specified
百度后发现,搜到的方法并不能解决我的问题,而try_files $uri $uri/ /index.php?$query_string;
这么一句话又简单到让人无从下手。。。
之后从百度知道里https://zhidao.baidu.com/question/561643107347277804.html找到这么一个问题:
nginx:
12
# Check
if
a file exists,
or
route it to index.php.
try_files
$uri
$uri
/ /exploit/index.php?
$query_string
;
是CI框架的,无非就是根目录不同,多一层/exploit,但是抱着很绝望的心态,还是不抱希望的复制粘贴,然后删除/exploit,重启nginx后,刷新页面竟然输出了hello!!于是在笔记本里对比前后的两句话,发现一模一样。。。。我也非常的纳闷!!虽然可能帮不上什么忙,但还是愿意记录一下这个悲催的过程。ps:尝试将try_files语句放到 index 声明的前边试试。希望不会有更多的小伙伴被这个问题牵制。。