tp5不能访问index.php的解决办法:首先找到htaccess文件;然后修改规则内容为“RewriteRule ^(.*)$ index.php [L,E=PATH_INFO 1]”即可。
本文操作环境:windows7系统、thinkphp v5.1版,DELL G3电脑 tp5不能访问index.php怎么办? 关于tp5.1框架定义路由无法访问的问题以及隐藏入口文件index.php 首先我使用了phpstudy 解析了一个域名 http://kymb.com/ 到 默认tp框架 public 目录下面 开始访问使正常的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 然后看到route 文件下面有两个定义好的路由
Route::get( think , function () {
return hello,ThinkPHP5! ;
});
Route::get( hello/:name , index/hello );
然后我就直接以为是 http:
No input file specified. 文件没有找到
我就纳闷了 因为以前开发项目都是直接这样访问(可能由于惯性思维)
果断回去看了看文档 路由的定义解析
发现多次提示 需要带index.php 前缀访问 才可以的
然后把路径换成了 http:
其他路由设置也一样 都是需要带着index.php前缀(就是入口文件)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 但是我又想了一下就是 我们还是希望 域名+模块/控制器/方法 这样访问 就比较美观吖
然后我查询了一篇资料 说把 访问规则重写一下就可以了
更改一下 .htaccess 文件
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ index.php/ $1 [QSA,PT,L]
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO: $1 ]
</IfModule>
这个时候 那么我们想要的访问路径就实现了 这里方便记录一下 怕以后忘记了 一时之间不知道问题出现原来 回来有记录可寻
|
|