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程序员工具
May 26 PHP
PHP学习之数组值的操作
Apr 17 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
PHP中最容易忘记的一些知识点总结
Apr 28 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
PHP用反撇号执行外部命令
Apr 14 PHP
简单谈谈favicon
Jun 10 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 PHP
php使用文本统计访问量的方法
May 12 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
TP5框架实现的数据库备份功能示例
Apr 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高级对象构建 多个构造函数的使用
2012/02/05 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
php中的ini配置原理详解
2014/10/14 PHP
CI框架中cookie的操作方法分析
2014/12/12 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
PHP迭代器和生成器用法实例分析
2019/09/28 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
详解Python:面向对象编程
2019/04/10 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
开业典礼主持词
2014/03/21 职场文书
保健品市场营销方案
2014/03/31 职场文书
音乐节策划方案
2014/06/09 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL