这篇文章主要介绍“tp5不能访问index.php的解决方法”,在日常操作中,相信很多人在tp5不能访问index.php的解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”tp5不能访问index.php的解决方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
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> 这个时候 那么我们想要的访问路径就实现了 这里方便记录一下 怕以后忘记了 一时之间不知道问题出现原来 回来有记录可寻
到此,关于“tp5不能访问index.php的解决方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。