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 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
PHP获取一年中每个星期的开始和结束日期的方法
Feb 12 PHP
详解PHP归并排序的实现
Oct 18 PHP
php.ini中date.timezone设置详解
Nov 20 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
php实现生成code128条形码的方法详解
Jul 19 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
Oct 07 PHP
PHP explode()函数用法讲解
Feb 15 PHP
jQuery+PHP实现图片上传并提交功能
Jul 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 采集程序中常用的函数
2009/12/09 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
加载 Javascript 最佳实践
2011/10/30 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
js实现开关灯效果
2020/03/30 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
详解vue 组件注册
2020/11/20 Vue.js
python的常见命令注入威胁
2013/02/18 Python
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
公司前台接待岗位职责
2013/12/03 职场文书
大学生就业意向书范文
2014/04/01 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
承诺书模板
2014/08/30 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
小学运动会报道稿
2015/07/22 职场文书
简短清晨问候语
2015/11/10 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python