Thinkphp5如何隐藏⼊⼝⽂件index.php(URL重写)⼤家好,我是Yangrl.
路由在框架中的作⽤打个⽐⽅的话,路由好⽐是WEB应⽤的总调度室,对于访问的URL地址,路由可以拒绝或者接受某个URL请求,并进⾏分发调度,⽽且还有⼀个副作⽤是因为路由规则可以随意定义,因此可以让你的URL请求地址更优雅,因为不会暴露实际的URL地址,也就意味着更安全——《ThinkPHP5路由完全指南》
在之前,⽐如我们要访问index 模块下的 Index控制器下的index⽅法,在vhost(虚拟主机/虚拟域名)下,是这样的繁琐的⼀⾏URL地址:
tp5/index.php/index/Index/index
不舒服,不优雅(啧啧)对吧?所以我们学习路由,可以简化,可以DIY,不仅舒服好看,还提升了安全性等⽅⾯。
开始学习TP5路由部分,先记下隐藏⼊⼝⽂件index.php也就是URL重写的⽅法:
⼀.加载f配置⽂件中mod_rewrite.so模块:
如果是集成环境,⼤概是已经开启了,我⽤的phpStudy 2018,默认开启了,地址在
盘符:\phpStudy\PHPTutorial\Apache\conf->CTRL+F搜索:mod_rewrite.so->如果前⾯有#号,删掉就表⽰加载了该模块。
⼆. 将AllowOverride None 的None改为 All:
这在phpStudy中也是默认ALL的,搜索AllowOverride会发现不⽌⼀个,那怎么选?改哪⼀个?你如果不确定,就都改!哈哈哈哈哈哈,其实我觉得就是第三步下⾯的directory中的allowoverride,见下图。
三. 搜索DocumentRoot 将根⽬录设置成你的⼊⼝⽂件所在⽬录:
怎么安装php默认是public⽬录.
四.修改.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
(如果是其他服务器,可参阅官⽅⼿册)
以上这篇Thinkphp5 如何隐藏⼊⼝⽂件index.php(URL重写)就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论