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远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
php学习之 数组声明
Jun 09 PHP
php 抽象类的简单应用
Sep 06 PHP
利用curl抓取远程页面内容的示例代码
Jul 23 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
PHP中exec与system用法区别分析
Sep 22 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
Aug 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
广播爱好者需要了解的天线知识
2021/03/01 无线电
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
js实现DIV的一些简单控制
2007/06/04 Javascript
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
感恩节活动方案
2014/01/27 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
大家访活动实施方案
2014/03/10 职场文书
理发店策划方案
2014/06/05 职场文书
科技工作者先进事迹
2014/08/16 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang