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 相关文章推荐
php 三维饼图的实现代码
Sep 28 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
php生成高清缩略图实例详解
Dec 07 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
php实现微信模板消息推送
Mar 30 PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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设置静态内容缓存时间的方法
2014/12/01 PHP
php中使用gd库实现远程图片下载实例
2015/05/12 PHP
PHP输出缓冲控制Output Control系列函数详解
2015/07/02 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
js实现圆盘记速表
2015/08/03 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python实现简单的文件传输与MySQL备份的脚本分享
2016/01/03 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
深入浅出学习python装饰器
2017/09/29 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
python如何实现异步调用函数执行
2019/07/08 Python
python构建指数平滑预测模型示例
2019/11/21 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
校领导推荐信
2013/11/01 职场文书
护士个人总结范文
2015/02/13 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript