Thinkphp5 如何隐藏入口文件index.php(URL重写)


Posted in PHP onOctober 16, 2019

大家好,我是Yangrl.

路由在框架中的作用打个比方的话,路由好比是WEB应用的总调度室,对于访问的URL地址,路由可以拒绝或者接受某个URL请求,并进行分发调度,而且还有一个副作用是因为路由规则可以随意定义,因此可以让你的URL请求地址更优雅,因为不会暴露实际的URL地址,也就意味着更安全——《ThinkPHP5路由完全指南》

在之前,比如我们要访问index 模块下的 Index控制器 下的index方法,在vhost(虚拟主机/虚拟域名)下,是这样的繁琐的一行URL地址:

tp5.com/index.php/index/Index/index

不舒服,不优雅(啧啧)对吧?所以我们学习路由,可以简化,可以DIY,不仅舒服好看,还提升了安全性等方面。

开始学习TP5路由部分,先记下隐藏入口文件index.php也就是URL重写的方法:

一.加载httpd.conf配置文件中mod_rewrite.so模块:

如果是集成环境,大概是已经开启了,我用的phpStudy 2018,默认开启了,地址在

盘符:\phpStudy\PHPTutorial\Apache\conf->CTRL+F搜索:mod_rewrite.so->如果前面有#号,删掉就表示加载了该模块。

Thinkphp5 如何隐藏入口文件index.php(URL重写)

二. 将AllowOverride None 的None改为 All:

这在phpStudy中也是默认ALL的,搜索AllowOverride会发现不止一个,那怎么选?改哪一个?你如果不确定,就都改!哈哈哈哈哈哈,其实我觉得就是第三步下面的directory中的allowoverride,见下图。

三. 搜索DocumentRoot 将根目录设置成你的入口文件所在目录:

默认是public目录.

Thinkphp5 如何隐藏入口文件index.php(URL重写)

四.修改.htaccess文件:

把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下,就在public目录。

(其实现在的TP5版本.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]
</IfModule>

五.重启Apache服务器:

ojbk.

环境:phpStudy 2018/ThinkPHP5.0.14/php7/Apache

(如果是其他服务器,可参阅官方手册 URL重写)

以上这篇Thinkphp5 如何隐藏入口文件index.php(URL重写)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
PHP里的中文变量说明
Jul 23 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
php实现统计邮件大小的方法
Aug 06 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
C#静态方法与非静态方法实例分析
Sep 22 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
PHP可变变量学习小结
Nov 29 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
Yii框架连表查询操作示例
Sep 06 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 #PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
Oct 16 #PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 #PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 #PHP
解决Laravel自定义类引入和命名空间的问题
Oct 15 #PHP
laravel 如何实现引入自己的函数或类库
Oct 15 #PHP
Laravel 类和接口注入相关的代码
Oct 15 #PHP
You might like
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
laravel学习教程之存取器
2016/07/30 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
用原生js做单页应用
2017/01/17 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
vuex的使用和简易实现
2021/01/07 Vue.js
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
python关键字and和or用法实例
2015/05/28 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
十佳大学生事迹材料
2014/01/29 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
项目建议书格式
2014/03/12 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
小学运动会通讯稿
2015/07/18 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
为什么不建议在go项目中使用init()
2021/04/12 Golang
Vue的生命周期一起来看看
2022/02/24 Vue.js
Redis过期数据是否会被立马删除
2022/07/23 Redis