在ThinkPHP5.0中,出于优化的URL访问原则,还支持通过URL重写隐藏入口文件,下面以Apache
为例说明隐藏应用入口文件index.php的设置。
下面是Apache的配置过程,可以参考下:
1、httpd.conf
配置文件中加载了mod_rewrite.so
模块
2、AllowOverride None
将None
改为 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>
4、多模块 :
// 设置入口自动绑定模块
'auto_bind_module' => true,
可以在public 入口文件里面 在添加一个入口文件 例如:admin.php,那么就可以访问你的后台文件了,localhost/admin.php
但是必须要加上 admin.php,好不容易去掉index.php 现在有来一个admin.php。
5、自动入口绑定
如果你的入口文件都是对应实际的模块名称,那么可以使用入口文件自动绑定模块的功能,只需要在应用配置文件中添加:
//开启入口自动绑定模块 'auto_bind_module' => true,
当我们重新添加一个public/demo.php 入口文件,内容和public/index.php一样
// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';
但其实访问 demo.php时,就已经自动绑定了demo模块。