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中取得文件的后缀名?
Feb 20 PHP
php获取目标函数执行时间示例
Mar 04 PHP
php使用json_encode对变量json编码
Apr 07 PHP
PHP正则提取不包含指定网址的图片地址的例子
Apr 21 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 PHP
详解php伪造Referer请求反盗链资源
Jan 24 PHP
PhpStorm配置Xdebug调试的方法步骤
Feb 02 PHP
laravel 关联关系遍历数组的例子
Oct 10 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 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
mysql5详细安装教程
2007/01/15 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
javascript强大的日期函数代码分享
2013/09/04 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
深入分析原生JavaScript事件
2014/12/29 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
python使用pymysql实现操作mysql
2016/09/13 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
详解python单元测试框架unittest
2018/07/02 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
2020/04/28 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
文明学生标兵事迹
2014/01/21 职场文书
超市国庆节促销方案
2014/02/20 职场文书
岗位职责风险点
2014/03/12 职场文书
校园环保标语
2014/06/13 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
营业员岗位职责范本
2015/04/14 职场文书
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js