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 相关文章推荐
十天学会php(1)
Oct 09 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
php adodb分页实现代码
Mar 19 PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
PHP 判断变量类型实现代码
Oct 23 PHP
php disk_free_space 返回目录可用空间
May 10 PHP
PHP生成UTF8文件的方法
May 15 PHP
php数组的一些常见操作汇总
Jul 17 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
php通过正则表达式记取数据来读取xml的方法
Mar 09 PHP
WordPress中制作导航菜单的PHP核心方法讲解
Dec 11 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
学习PHP session的传递方式
2016/06/15 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
jquery 面包屑导航 具体实现
2013/06/05 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
javascript白色简洁计算器
2015/05/04 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
详解VSCode配置启动Vue项目
2019/05/14 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
JS实现纸牌发牌动画
2021/01/19 Javascript
python端口扫描系统实现方法
2014/11/19 Python
Python CSV模块使用实例
2015/04/09 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
Python制作exe文件简单流程
2019/01/24 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
pandas参数设置的实用小技巧
2020/08/23 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
水务局局长岗位职责
2013/11/28 职场文书
环保建议书500字
2014/05/14 职场文书
实习协议书范本
2014/09/25 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
【2·13】一图读懂中国无线电发展
2022/02/18 无线电