文/罗小布
环境说明:windown + phpstudy2018
强烈建议不用迁移index.php的默认位置[public/index.php]
很多人受thinkphp3.2的影响会主动把入口迁移到application/index.php ,这对后期的虚拟路由配置和静态资源加载会不友好,导致会多做很多事情
index.php隐藏
默认访问路径 http://localhost/tp5/public 就会启动index模块index控制器index方法
但是如果访问admin模块就得http://localhost/tp5/public/index.php/admin/entry/login加载静态资源也异常的麻烦
所以就得把index.php给隐藏掉 官方文档有详细的说明
我这里仅针对windown +phpstudy2018做一个详细说明
在项目的入口文件同级目录及public目录下创建.htaccess文件,如果文件存在就不用再创建。直接用记事本或者IDE直接打开。如果是新建此文件的正确姿势是:先用右键创建一个新建文本.txt文件->然后双击打开->点另存为.htaccess
双击打开.htaccss文件->将以下代码复制粘贴到文件里面并保存
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
- 然后的访问路径就可以是http://localhost/tp5/public/admin/entry/login(admin模块/entry控制器/login方法)index.php就没有了
虚拟路由配置
现在的访问路径是http://localhost/tp5/public/admin/entry/login
我们的目标是http://tpgrow.cn/admin/entry/login
-
如图
-
配置ip和域名映射关系 127.0.0.0 tpgrow.cn
- 重启appache->就可以访问http://tpgrow.cn/admin/entry/login(域名/模块/控制器/方法)
静态资源加载
-
静态资源文件目录接口搭建:按照以下方案创建文件夹TP会友好识别
- 在配置文件配置静态资源加载常量 一定是全局配置文件
application/config.php 在config.php里面搜索view_replace_str 按以下方式配置
'view_replace_str' => [
'__LAYUI__'=>'/static/layui',
'__CSS__' => '/static/css',
'__JS__' => '/static/js',
],
3.html页面加载
<!--当前页面css加载-->
//就可以直接访问到application/public/static/css/admin/login.css
<link rel="stylesheet" type="text/css" href="__CSS__/admin/login.css"/>
<!--/当前页面css加载-->
<!--加载逻辑js-->
//就可以直接访问到application/public/static/js/admin/login.css
<script src="__JS__/admin/login.js"></script>
<!---加载逻辑js-->
<!--加载前端框架layui.css-->
//就可以直接访问到application/public/static/layui/css/layui.css
<link rel="stylesheet" type="text/css" href="__LAYUI__/css/layui.css"/>
<!--加载前端框架layui.css-->
成果
index.php隐藏成功
虚拟域名和ip映射
-
静态资源顺利加载