如何实现ThinkPHP5中不使用index.php的多种方法?

2026-04-28 18:132阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计880个文字,预计阅读时间需要4分钟。

如何实现ThinkPHP5中不使用index.php的多种方法?

要去除ThinkPHP中的index.php,首先需要修改Apache的配置文件httpd.conf。以下是修改步骤的简化版:

1. 打开httpd.conf文件。

2.找到行`AllowOverride None`。

3.将`None`改为`All`。

4.将htaccess文件放置在应用入口文件的同级目录下。

结果示例:

thinkphp去除index.php的实现方法:首先打开httpd.conf文件;然后将AllowOverride None改为All;最后将htaccess文件放置在应用入口文件的同级目录下即可。推荐阅读:《ThinkPHP教程》

thinkphp去除index.php的实现方法:首先打开“csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-963e387caa.css"/>

推荐:《thinkphp教程》

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

[ Apache ]

  1. httpd.conf配置文件中加载了mod_rewrite.so模块
  2. AllowOverride NoneNone改为 All
  3. 把下面的内容保存为.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]</IfModule>

[ 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参数

如何实现ThinkPHP5中不使用index.php的多种方法?

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

以上就是thinkphp5去除index.php的几大方式的详细内容,更多请关注自由互联其它相关文章!

标签:几大方式

本文共计880个文字,预计阅读时间需要4分钟。

如何实现ThinkPHP5中不使用index.php的多种方法?

要去除ThinkPHP中的index.php,首先需要修改Apache的配置文件httpd.conf。以下是修改步骤的简化版:

1. 打开httpd.conf文件。

2.找到行`AllowOverride None`。

3.将`None`改为`All`。

4.将htaccess文件放置在应用入口文件的同级目录下。

结果示例:

thinkphp去除index.php的实现方法:首先打开httpd.conf文件;然后将AllowOverride None改为All;最后将htaccess文件放置在应用入口文件的同级目录下即可。推荐阅读:《ThinkPHP教程》

thinkphp去除index.php的实现方法:首先打开“csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-963e387caa.css"/>

推荐:《thinkphp教程》

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

[ Apache ]

  1. httpd.conf配置文件中加载了mod_rewrite.so模块
  2. AllowOverride NoneNone改为 All
  3. 把下面的内容保存为.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]</IfModule>

[ 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参数

如何实现ThinkPHP5中不使用index.php的多种方法?

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

以上就是thinkphp5去除index.php的几大方式的详细内容,更多请关注自由互联其它相关文章!

标签:几大方式