找回密码
 立即注册

tp5不能访问index.php怎么办

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

110833qtccaej5q11layja.jpg

本文操作环境:windows7系统、thinkphp v5.1版,DELL G3电脑

tp5不能访问index.php怎么办?

关于tp5.1框架定义路由无法访问的问题以及隐藏入口文件index.php

首先我使用了phpstudy 解析了一个域名 http://kymb.com/ 到 默认tp框架 public 目录下面 开始访问使正常的

110833s8uhjhxvmzg3ujmo.png






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://kymb.com/think 就可以访问了 结果出现了

No input file specified. 文件没有找到

我就纳闷了 因为以前开发项目都是直接这样访问(可能由于惯性思维)

果断回去看了看文档 路由的定义解析

发现多次提示 需要带index.php 前缀访问 才可以的

然后把路径换成了 http://kymb.com/index.php/think 就可以了

其他路由设置也一样 都是需要带着index.php前缀(就是入口文件)


110833cds7s74hlxu7lz27.png

110833xziwihiqtnynvpww.png

110833ibvuhb38lpvu8g7v.png

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>

 

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

110833qktrkxx9yekmrzmr.png


全部评论 0

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

110833qtccaej5q11layja.jpg

本文操作环境:windows7系统、thinkphp v5.1版,DELL G3电脑

tp5不能访问index.php怎么办?

关于tp5.1框架定义路由无法访问的问题以及隐藏入口文件index.php

首先我使用了phpstudy 解析了一个域名 http://kymb.com/ 到 默认tp框架 public 目录下面 开始访问使正常的

110833s8uhjhxvmzg3ujmo.png






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://kymb.com/think 就可以访问了 结果出现了

No input file specified. 文件没有找到

我就纳闷了 因为以前开发项目都是直接这样访问(可能由于惯性思维)

果断回去看了看文档 路由的定义解析

发现多次提示 需要带index.php 前缀访问 才可以的

然后把路径换成了 http://kymb.com/index.php/think 就可以了

其他路由设置也一样 都是需要带着index.php前缀(就是入口文件)


110833cds7s74hlxu7lz27.png

110833xziwihiqtnynvpww.png

110833ibvuhb38lpvu8g7v.png

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>

 

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

110833qktrkxx9yekmrzmr.png


热门推荐
您需要登录后才可以回帖 立即登录
说说你的想法......
0
0
0
返回顶部