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中数据的批量导入(csv文件)
Oct 09 PHP
第十三节 对象串行化 [13]
Oct 09 PHP
比较discuz和ecshop的截取字符串函数php版
Sep 03 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
7个鲜为人知却非常实用的PHP函数
Jul 01 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
php使用PDO获取结果集的方法
Feb 16 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 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
初探PHP5
2006/10/09 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
Python迭代用法实例教程
2014/09/08 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
使用python实现名片管理系统
2020/06/18 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
语文教师求职信范文
2015/03/20 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
高一军训感想
2015/08/07 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs