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 相关文章推荐
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
PHP基础学习小结
Apr 17 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
May 09 PHP
PHP简洁函数小结
Aug 12 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
php递归遍历多维数组的方法
Apr 18 PHP
PHP利用imagick生成组合缩略图
Feb 19 PHP
PHP错误机制知识汇总
Mar 24 PHP
PHP chr()函数讲解
Feb 11 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
Vue实现一个图片懒加载插件
2019/03/11 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
Django框架 Pagination分页实现代码实例
2019/09/04 Python
python selenium循环登陆网站的实现
2019/11/04 Python
python环境下安装opencv库的方法
2020/03/05 Python
一套VC试题
2015/01/23 面试题
电子商务应届生自我鉴定
2014/01/13 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
房屋过户委托书范本
2014/10/07 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
环卫处个人工作总结
2015/03/04 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
MySQL 服务和数据库管理
2021/11/11 MySQL