首页  >  文章  >  php框架  >  thinkphp5去除index.php的几大方式

thinkphp5去除index.php的几大方式

藏色散人
藏色散人原创
2020-08-15 10:24:393135浏览

thinkphp去除index.php的实现方法:首先打开“httpd.conf”文件;然后将“AllowOverride None”将None改为“All”;最后将htaccess文件放到应用入口文件的同级目录下即可。

thinkphp5去除index.php的几大方式

推荐:《thinkphp教程

在tp5中官方给出的去隐藏index.php方法如下:

[ Apache ]

  1. httpd.conf配置文件中加载了mod_rewrite.so模块
  2. AllowOverride None 将None改为 All
  3. 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
accc8b222b481b6a3bae338f95f68faf
  Options +FollowSymlinks -Multiviews  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d  RewriteCond %{REQUEST_FILENAME} !-f  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]2071f931c9870be1bebed0bdda8305e7

[ Nginx ]

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:

location / { // …..省略部分代码
   if (!-e $request_filename) {
   		rewrite  ^(.*)$  /index.php?s=/$1  last;
    }
}

本人本地环境如下:phpstudy2018。官方给出的方法在一些集中的PHP环境中应该是可用的(本人没测过)。

今天本人配了一thinkadmin,折腾许久去不掉index.php。

改进方法有如下几种:

1、在index.php后面加个问号。如果从url地扯上理解,应该是问号后面算是参数(tp实现MVC原理就根据这个了),我写过dede二开,也是传不同参数调用不同方法。

RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]

2、用tp  phpinfo兼容模式,即加了s

RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

3、加上PHPINFO参数

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

以上是thinkphp5去除index.php的几大方式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn