tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析


Posted in PHP onFebruary 11, 2020

本文实例讲述了tp5.0框架隐藏index.php入口文件及模块和控制器的方法。分享给大家供大家参考,具体如下:

1. 隐藏入口文件:

[ IIS ]

在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:

<rewrite>
 <rules>
 <rule name="OrgPage" stopProcessing="true">
 <match url="^(.*)$" />
 <conditions logicalGrouping="MatchAll">
 <add input="{HTTP_HOST}" pattern="^(.*)$" />
 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
 </conditions>
 <action type="Rewrite" url="index.php/{R:1}" />
 </rule>
 </rules>
 </rewrite>

[ Apache ]

httpd.conf配置文件中加载了mod_rewrite.so模块

AllowOverride None 将None改为 All

把下面的内容保存为.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>

2. 模块和控制器隐藏:

public目录下的index.php入口文件里添加define('BIND_MODULE', 'index/index');,如下:

<?php
// [ 应用入口文件 ]
define('BIND_MODULE', 'index/index');
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

设置后,我们的URL访问地址则变成:

http://serverName/index.php/操作/[参数名/参数值...]

扩展:

tp5.1隐藏控制器和模块与5.0不同,入口文件中修改如下:

Container::get('app')->bind('index/index')->run()->send()

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
一个分页的论坛
Oct 09 PHP
笑谈配置,使用Smarty技术
Jan 04 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
Dec 20 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
php 可变函数使用小结
Jun 12 PHP
php微信扫码支付 php公众号支付
Mar 24 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
thinkphp5框架路由原理与用法详解
Feb 11 #PHP
php数组指针函数功能及用法示例
Feb 11 #PHP
PHP实现单例模式建立数据库连接的方法分析
Feb 11 #PHP
php-7.3.6 编译安装过程
Feb 11 #PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 #PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
Feb 10 #PHP
tp5框架基于ajax实现异步删除图片的方法示例
Feb 10 #PHP
You might like
PHP动态变静态原理
2006/11/25 PHP
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
php加密解密实用类分享
2014/01/07 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
php三元运算符知识汇总
2015/07/02 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
php正则修正符用法实例详解
2016/12/29 PHP
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
vue实现文件上传功能
2018/08/13 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
python list元素为tuple时的排序方法
2018/04/18 Python
python3实现随机数
2018/06/25 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
护理专业的自荐信
2013/10/22 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
纪委立案决定书
2015/06/24 职场文书
Python字典的基础操作
2021/11/01 Python