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
php 字符串替换的方法
Jan 10 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 PHP
浅谈php中urlencode与rawurlencode的区别
Sep 05 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 PHP
PHP实现文件上传后台处理脚本
Mar 04 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 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之源码目录结构与功能说明
2016/06/01 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
JS实现打字游戏
2019/12/17 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
理解Python中的With语句
2015/02/02 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
速记Python布尔值
2017/11/09 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
python查看数据类型的方法
2019/10/12 Python
最小二乘法及其python实现详解
2020/02/24 Python
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
美国大码时尚女装购物网站:ELOQUII
2017/12/28 全球购物
2015年医德考评自我评价
2015/03/03 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
教师节主题班会方案
2015/08/17 职场文书
比赛口号霸气押韵
2015/12/24 职场文书