将高级模板的入口文件移到根目录 [ 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即可。
sabermio
注册时间:2015-01-18
最后登录:2015-03-16
在线时长:0小时32分
最后登录:2015-03-16
在线时长:0小时32分
- 粉丝0
- 金钱20
- 威望10
- 积分120
共 11 条评论
这样做有什么用呢,请赐教?
把你自己本地的apach配置一下不就好用了吗?为什么要修改框架?
我添加下面代码的时候:
'assetManger' => [ 'basePath' => '@webroot/frontend/web/assets', 'baseUrl' => '@web/frontend/web/assets' ],
报下面的错误:
The configuration for the "assetManger" component must contain a "class" element.
这是怎么回事呀?
你是不是加到components外面去了?
@sabermio 就按照你上面的方法,但是就是提示错误“The configuration for the "assetManger" component must contain a "class" element.”,是2.03不支持这种方法了吗?
me too
可以用的,强制刷新一下,或者把 assets里面的缓存都删掉
你的 assetManger 名错了,是assetManager
成功搞定,感谢,但是你的assetManger 应该是assetManager,少了一个a
幸亏下面有人指出来少了一个a 不然,你这篇文章看的人越多,错的越多。给新手带来好多麻烦。
这样的话,那后台怎么进入呢?
可以在根目录下新建admin.php文件,
文件内容:
<?php
header("Location:backend/web/index.php");
即可,不用修改框架
可以在根目录下新建 index.php文件,
文件内容:
<?php
header("Location:frontend/web/index.php");
即可,不用修改框架
这样做有什么意义吗?在apache里面配好路径不就可以了吗?
虚拟主机下面,只有一个站点。也没有办法修改Apache配置。
我修改完了。但是直接500错误了。