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 相关文章推荐
pw的一个放后门的方法分析
Oct 08 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
PHP比你想象的好得多
Nov 27 PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 PHP
PHP保存session到memcache服务器的方法
Jan 19 PHP
yii通过小物件生成view的方法
Oct 08 PHP
php实现微信支付之现金红包
May 30 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
php redis setnx分布式锁简单原理解析
Oct 23 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 UBB 解析实现代码
2011/11/27 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
PHP7 list() 函数修改
2021/03/09 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
简单理解Vue中的nextTick方法
2018/01/30 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
项目经理的岗位职责
2013/11/23 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
麦当劳辞职信范文
2014/01/18 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
公司授权委托书范文
2014/09/21 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技
详解CSS3浏览器兼容
2022/12/24 HTML / CSS