离空气 2014-12-19 15:41:16 15010次浏览 6条评论 5 1 0

刚刚入手Yii2高级模板不久,部署项目时,得部署2个应用,个人感觉很繁琐,就将前后台入口文件全部拿到项目根目录。但是一看,完了,出错了!找教程找不到,还是自己解决吧

为了以后好升级,不改变Yii2核心文件,只需改2个文件就可以

  1. 将Vendor/yiisoft/yii2/web/AssetManger.php文件的69行
    public $basePath = '@webroot/assets'; 改为 public $basePath = '@webroot/frontend/web/assets';
    以及73行
    public $baseUrl = '@web/assets'; 改为 public $baseUrl = '@web/frontend/web/assets';
  2. 将frontend/assets/AppAsset.php文件20行
public $css = [
    'css/site.css',
];

改为

public $css = [
    'frontend/web/css/site.css',
];

OK,刷新下前台,一切恢复原样!
后台应用是需要改
将backend/assets/AppAsset.php文件20行

public $css = [
    'css/site.css',
];

改为

public $css = [
    'backend/web/css/site.css',
];

这样就OK了。
我这样修改不知道对后面开发有没有问题,个人刚接触Yii2,不知道有什么问题,希望知道的大神指点一二,鄙人虚心接受,有什么不好之处也请大神说教说教。
第一次写教程,不好之处,大家勿喷哈!!!

觉得很赞
  • 评论于 2014-12-22 11:06 举报

    直接改框架,并非善法。可以通过继承和配置实现。

    2 条回复
    评论于 2015-01-18 10:42 回复

    请问要如何实现呢?........

    评论于 2017-04-19 09:30 回复

    同问+1

  • 评论于 2015-02-08 09:37 举报

    我也遇到了,在本地机上,locahost指向根目录fontend/web目录,可是后台地址backend/web,却访问不到了.

    谢谢!算是一个思路吧,

  • 评论于 2015-02-09 00:17 举报

    前台想使用 http://localhost
    后台想使用 http://localhost/backend
    如何搞啊??????

    2 条回复
    评论于 2015-02-09 11:36 回复

    在apache中配置即可

    评论于 2015-03-16 14:31 回复

    @离空气: 配置Apache是不是web根目录下就只能放置一个项目了, 如果我还有其他的yii2的项目, 是不是就访问不了了

  • 评论于 2015-09-10 16:56 举报

    测试了不行呀

  • 评论于 2015-09-17 16:43 举报

    nginx上web跟目录只想frontend/web, 后台直接在frontend/web 下面做一个模块,这样如何?

  • 评论于 2017-01-09 16:25 举报

    可以在根目录下新建 index.php文件,
    文件内容:
    <?php
    header("Location:frontend/web/index.php");

    即可,不用修改框架

您需要登录后才可以评论。登录 | 立即注册