Home >PHP Framework >ThinkPHP >What should I do if tp5 cannot access index.php?

What should I do if tp5 cannot access index.php?

藏色散人
藏色散人Original
2021-06-16 10:02:294107browse

tp5不能访问index.php的解决办法:首先找到htaccess文件;然后修改规则内容为“RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]”即可。

What should I do if tp5 cannot access index.php?

本文操作环境: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 文件

accc8b222b481b6a3bae338f95f68faf
  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]
2071f931c9870be1bebed0bdda8305e7

这个时候 那么我们想要的访问路径就实现了 这里方便记录一下 怕以后忘记了 一时之间不知道问题出现原来 回来有记录可寻

《相关推荐:最新的10个thinkphp视频教程

The above is the detailed content of What should I do if tp5 cannot access index.php?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn