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 相关文章推荐
获得Google PR值的PHP代码
Jan 28 PHP
paypal即时到账php实现代码
Nov 28 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
PHP输入流php://input实例讲解
Dec 22 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
laravel添加前台跳转成功页面示例
Oct 22 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 批量删除 sql语句
2009/06/05 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
PHP查询分页的实现代码
2017/06/09 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
js表单验证实例讲解
2016/03/31 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
python实现telnet客户端的方法
2015/04/15 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
python使用mysql数据库示例代码
2017/05/21 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
Python argparse模块应用实例解析
2019/11/15 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
美国在线宠物商店:Chewy
2019/01/12 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
化工专业推荐信范文
2013/11/28 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
PHP策略模式写法
2021/04/01 PHP
MySQL索引失效的典型案例
2021/06/05 MySQL
浅谈Python魔法方法
2021/06/28 Java/Android