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编写的导航条程序
Oct 09 PHP
PHP中通过ADO调用Access数据库的方法测试不通过
Dec 31 PHP
ecshop 订单确认中显示省市地址信息的方法
Mar 15 PHP
PHP学习笔记 IIS7下安装配置php环境
Oct 29 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
PHP strripos函数用法总结
Feb 11 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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 8小时时间差的解决方法小结
2009/12/22 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
在一般处理程序(ashx)中弹出js提示语
2017/08/16 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
three.js实现圆柱体
2018/12/30 Javascript
原生js实现文件上传、下载、封装等实例方法
2020/01/05 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
Python安装whl文件过程图解
2020/02/18 Python
国际领先的学术出版商:Springer
2017/01/11 全球购物
莫斯科购买书籍网站:Book24
2020/01/12 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
有针对性的求职自荐信
2013/11/14 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
在校实习生求职信
2014/06/18 职场文书
保密工作整改报告
2014/11/06 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
心理学培训心得体会
2016/01/22 职场文书
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python