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中利用XML技术构造远程服务(下)
Oct 09 PHP
php debug 安装技巧
Apr 30 PHP
PHP中的strtr函数使用介绍(str_replace)
Oct 20 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
php上传图片到指定位置路径保存到数据库的具体实现
Dec 30 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
php微信公众号开发之音乐信息
Oct 20 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
PHP加MySQL消息队列深入理解
Feb 27 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生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
Python中的tuple元组详细介绍
2015/02/02 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
Python实现手势识别
2020/10/21 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
中医临床专业自我鉴定范文
2014/01/15 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
体育个人工作总结
2015/02/09 职场文书
车队安全员岗位职责
2015/02/15 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
建党伟业电影观后感
2015/06/01 职场文书
2016年大学生社会实践心得体会
2015/10/09 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android
Python多个MP4合成视频的实现方法
2021/07/16 Python