tp5入口文件的隐藏

Posted qikexun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tp5入口文件的隐藏相关的知识,希望对你有一定的参考价值。

在apache环境下,入口文件的隐藏非常简单,只需要在站点根目录下创建.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>

但是大家要注意:同样是apache服务器环境,使用上述方式隐藏入口文件,并不一定成功!在PHP版本TS版时,RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 这样写是可以正常访问的。但是在NTS可能会提示:No input file specified.

原因:

是因为服务器环境 和PHP的安装版本有关。
在这里大家要知道:
PHP的分TS版和NTS版。所谓TS和NTS其实是PHP的一个线程安全检测(TS是进行线程安全检测,NTS是不进行线程安全检测),一般情况下:linux下使用的是NTS ,在IIS下使用的TS。

解决办法:

  1. 在最后一句的index.php后面添加一个? ,如下:
    RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
  2. 把最后一句换成如下写法:
    RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

 

以上是关于tp5入口文件的隐藏的主要内容,如果未能解决你的问题,请参考以下文章

tp5隐藏index.php入口文件

TP5配置隐藏入口index.php文件,Apache/phpstudy

nginx下TP5 隐藏入口文件+支持pathinfo模式+配置多项目根目录

TP5隐藏index.php

tp5学习笔记

Nginx下ThinkPHP5的配置方法详解