sabermio 2015-02-02 13:42:17 17781次浏览 11条评论 8 2 0

更多请见:http://pandaju.me/article/177

打开X:\wamp\www\yii2advanced\frontend\web 文件夹,将里面的index.php文件复制(或剪切)至根目录X:\wamp\www\yii2advanced 。然后编辑里面的内容为:

<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
 
require(__DIR__ . './vendor/autoload.php');
require(__DIR__ . './vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . './common/config/bootstrap.php');
require(__DIR__ . './frontend/config/bootstrap.php');
 
$config = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . './common/config/main.php'),
    require(__DIR__ . './common/config/main-local.php'),
    require(__DIR__ . './frontend/config/main.php'),
    require(__DIR__ . './frontend/config/main-local.php')
);
 
$application = new yii\web\Application($config);
$application->run();

然后再修改X:\wamp\www\yii2advanced\frontend\config 里的main.php文件,在component里加入

'assetManger' => [
            'basePath' => '@webroot/frontend/web/assets',
            'baseUrl' => '@web/frontend/web/assets'
        ],

整个main.php应该为:

<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);
 
return [
    'id' => 'app-frontend',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'frontend\controllers',
    'components' => [
        'assetManger' => [
            'basePath' => '@webroot/frontend/web/assets',
            'baseUrl' => '@web/frontend/web/assets'
        ],
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
    ],
    'params' => $params,
];

最后修改X:\wamp\www\yii2advanced\frontend\assets 里的AppAsset.php文件,将里面的:

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

修改为:

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

这样就可以用http://localhost/yii2advanced 直接访问首页了。

后台修改方法是将X:\wamp\www\yii2advanced\backend\web 里的index.php文件夹复制(剪切)至根目录并重命名为admin.php,其他修改地方与上述类似,只是将frontend改为backend即可。

觉得很赞
  • 评论于 2015-02-13 11:42 举报

    这样做有什么用呢,请赐教?

    觉得很赞
  • 评论于 2015-03-05 19:52 举报

    把你自己本地的apach配置一下不就好用了吗?为什么要修改框架?

  • 评论于 2015-03-16 14:23 举报

    我添加下面代码的时候:

    'assetManger' => [
                'basePath' => '@webroot/frontend/web/assets',
                'baseUrl' => '@web/frontend/web/assets'
            ],
    

    报下面的错误:
    The configuration for the "assetManger" component must contain a "class" element.
    这是怎么回事呀?

    3 条回复
    评论于 2015-03-16 15:49 回复

    你是不是加到components外面去了?

    评论于 2015-04-02 08:17 回复

    就按照你上面的方法,但是就是提示错误“The configuration for the "assetManger" component must contain a "class" element.”,是2.03不支持这种方法了吗?

    评论于 2015-05-12 15:31 回复

    me too

  • 评论于 2015-05-12 16:53 举报

    可以用的,强制刷新一下,或者把 assets里面的缓存都删掉

  • 评论于 2015-05-19 16:56 举报

    你的 assetManger 名错了,是assetManager

    , 觉得很赞
  • 评论于 2016-03-23 16:56 举报

    成功搞定,感谢,但是你的assetManger 应该是assetManager,少了一个a

  • 评论于 2016-03-31 22:21 举报

    幸亏下面有人指出来少了一个a 不然,你这篇文章看的人越多,错的越多。给新手带来好多麻烦。

  • 评论于 2016-05-27 14:49 举报

    这样的话,那后台怎么进入呢?

    1 条回复
    评论于 2017-01-09 15:56 回复

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

    即可,不用修改框架

  • 评论于 2017-01-09 15:55 举报

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

    即可,不用修改框架

  • 评论于 2017-02-28 13:57 举报

    这样做有什么意义吗?在apache里面配好路径不就可以了吗?

    1 条回复
    评论于 2018-01-05 12:29 回复

    虚拟主机下面,只有一个站点。也没有办法修改Apache配置。

  • 评论于 2018-04-17 15:22 举报

    我修改完了。但是直接500错误了。

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