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遍历数组的方法汇总分析
Jun 08 PHP
解析centos中Apache、php、mysql 默认安装路径
Jun 25 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
PHP查看当前变量类型的方法
Jul 31 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 PHP
php fread函数使用方法总结
May 28 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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编程网上资源导航
2006/10/09 PHP
php Session存储到Redis的方法
2013/11/04 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
jQuery的学习步骤
2011/02/23 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
重命名批处理python脚本
2013/04/05 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
12步教你理解Python装饰器
2016/02/25 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Python实现的选择排序算法原理与用法实例分析
2017/11/22 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
python sorted函数的小练习及解答
2019/09/18 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
selenium如何定位span元素的实现
2021/01/13 Python
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
中国梦的演讲稿
2014/01/08 职场文书
上班玩游戏检讨书
2014/02/07 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
小学新学期寄语
2014/04/02 职场文书
超市促销活动总结
2014/07/01 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
党员民主评议总结
2014/10/20 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
详解Python类和对象内容
2021/06/22 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript