设置了urlManager后 gii不能访问 [ 2.0 版本 ]
我在web.php里美化Url
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,//隐藏index.php
//'enableStrictParsing' => false,
//'suffix' => '.html',//后缀,如果设置了此项,那么浏览器地址栏就必须带上.html后缀,否则会报404错误
'rules' => [
//'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
],
],
之前没加的时候 访问http://localhost/basic/web/index.php?r=gii
是可以跳转到生成模型界面的,自从加了上面代码就一直在主界面,gii访问不了了
我试着去掉 'enablePrettyUrl' => true
,就可以了
不知道什么原因??
最佳答案
-
setting
enablePrettyUrl = true
a.Apache 設定 DocumentRoot 指向 "YourPath.../basic/web"
a.在你的 網址填入http://localhost/gii
b.不然看你 DocumentRoot 都沒指向 自己打上 /basic/web
b.在你的 網址填入http://localhost/basic/web/gii
共 7 条回复@bryson 问个问题 basic模板 model\User.php 没有实现\yii\web\IdentityInterface接口 看了老汉的视频访问http://localhost/basic/web/说会报错 可是我正常的啊 什么情况
其他 6 个回答
-
'urlManager'=> [ 'enablePrettyUrl' => true ] //'enablePrettyUrl' => true : //DocumentRoot ../basic/web //http://localhost/gii //'enablePrettyUrl' => false : //http://localhost/basic/web/index?r=gii
去看一下 yii2 documentaction 的介紹!!
http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html#$enablePrettyUrl-detailenablePrettyUrl
: 意思就是美化 URL
如果為 true 則 URL 可以用路徑代表參數 反之
如果為 false 是用參數代表路徑的方式共 1 条回复 -
1. URL 美化设置, http://yinzhezq.blog.163.com/blog/static/164862890201581984113653 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, ],
2. 开启gii功能 $config['bootstrap'][] = 'gii'; $config['modules']['gii'] = [ 'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '设置你浏览器主机的IP'], ];
3. 访问地址: http://XXX/gii XXX表示访问首页的地址
4. 原因:当启动gii模块的时候,会自动设置gii的美化URL访问规则 vendor/yiisoft/yii2-gii/Module.php /** * @inheritdoc */ public function bootstrap($app) { if ($app instanceof \yii\web\Application) { $app->getUrlManager()->addRules([ $this->id => $this->id . '/default/index', $this->id . '/<id:\w+>' => $this->id . '/default/view', $this->id . '/<controller:[\w\-]+>/<action:[\w\-]+>' => $this->id . '/<controller>/<action>', ], false); } elseif ($app instanceof \yii\console\Application) { $app->controllerMap[$this->id] = [ 'class' => 'yii\gii\console\GenerateController', 'generators' => array_merge($this->coreGenerators(), $this->generators), 'module' => $this, ]; } }
rambo 觉得很赞 -
可参考我的做法
return [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'suffix' => '.html', ];
这个时候直接访问http://localhost/gii.html就行
xyf90314
注册时间:2015-03-04
最后登录:2023-03-13
在线时长:95小时23分
最后登录:2023-03-13
在线时长:95小时23分
- 粉丝21
- 金钱5257
- 威望40
- 积分6607