thinkphp5正确启动姿势

文/罗小布

环境说明: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做一个详细说明

  1. 在项目的入口文件同级目录及public目录下创建.htaccess文件,如果文件存在就不用再创建。直接用记事本或者IDE直接打开。如果是新建此文件的正确姿势是:先用右键创建一个新建文本.txt文件->然后双击打开->点另存为.htaccess

  2. 双击打开.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>
  1. 然后的访问路径就可以是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

  1. 如图


    虚拟域名配置.png
  1. 配置ip和域名映射关系 127.0.0.0 tpgrow.cn


    配置ip和域名映射关系.png
  1. 重启appache->就可以访问http://tpgrow.cn/admin/entry/login(域名/模块/控制器/方法)

静态资源加载

  1. 静态资源文件目录接口搭建:按照以下方案创建文件夹TP会友好识别


    静态资源建议分部图.png
  1. 在配置文件配置静态资源加载常量 一定是全局配置文件
    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-->

成果

  1. index.php隐藏成功

  2. 虚拟域名和ip映射

  3. 静态资源顺利加载


    成果.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 6,799评论 0 16
  • 2017成长很多,自己认定的路,是一条少有人走的路,没有那么多过去经验可以学习和提供安全感,一开始走只能自己相信自...
    Marc_W阅读 226评论 0 0
  • QPDCA质量管理论坛序:在开这个贴之前,看到很多朋友都在聊供应商管理,所以也想试着把自己这几年的工作心得分享出来...
    管理第一线阅读 570评论 0 0
  • 深秋,初冬。天气已凉未寒。日子过得太快,光阴似箭,白驹过隙此类话语用的太过俗滥,但细想之,却又找不到更合适的了。岁...
    郁洲阅读 320评论 5 10