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 目录下面 开始访问使正常的
然后看到route 文件下面有两个定义好的路由 Route::get('think', function () { return 'hello,ThinkPHP5!'; }); // Route::get('hello/:name', 'index/hello'); 然后我就直接以为是 http://kymb.com/think 就可以访问了 结果出现了 No input file specified. 文件没有找到 我就纳闷了 因为以前开发项目都是直接这样访问(可能由于惯性思维) 果断回去看了看文档 路由的定义解析 发现多次提示 需要带index.php 前缀访问 才可以的 然后把路径换成了 http://kymb.com/index.php/think 就可以了 其他路由设置也一样 都是需要带着index.php前缀(就是入口文件)
但是我又想了一下就是 我们还是希望 域名+模块/控制器/方法 这样访问 就比较美观吖 然后我查询了一篇资料 说把 访问规则重写一下就可以了 更改一下 .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> 这个时候 那么我们想要的访问路径就实现了 这里方便记录一下 怕以后忘记了 一时之间不知道问题出现原来 回来有记录可寻
《相关推荐:最新的10个thinkphp视频教程》
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn tp5 nicht auf index.php zugreifen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!