网上大部分都是普通的开启和配置资料
按照网上资料配置 访问localhost/index/php?r=gii 总是提示404错误
解决方法如下:
Yii基础版中的 web.php 代码如下
if (YII_ENV_DEV) { // configuration adjustments for 'dev' environment $config['bootstrap'][] = 'debug'; $config['modules']['debug'] = [ 'class' => 'yiidebugModule', // uncomment the following to add your IP if you are not connecting from localhost. //'allowedIPs' => ['127.0.0.1', '::1'], ]; $config['bootstrap'][] = 'gii'; $config['modules']['gii'] = [ 'class' => 'yiigiiModule', // uncomment the following to add your IP if you are not connecting from localhost. 'allowedIPs' => ['127.0.0.1', '::1'], ]; }
注意这里的变量是YII_ENV_DEV 而在入口文件index.php中配置的是
defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV','dev'); //需要根绝web.php中的变量YII_ENV_DEV增加对应的开启设置 defined('YII_ENV_DEV ') or define('YII_ENV_DEV ', true); require(__DIR__ . '/../vendor/autoload.php'); require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); $config = require(__DIR__ . '/../config/web.php'); (new yiiwebApplication($config))->run();
2.路由配置
enablePrettyUrl 设置为false
//路由配置 'urlManager' => [ 'enablePrettyUrl' => false,//路由的路径化 去掉 ?r= 'showScriptName' => false,//隐藏入口Index.php文件 //'suffix' => '.html',//假后缀(fake suffix) .html 'rules' => [ '<controller:w+>/<name:w+>/<action:w+>'=>'<controller>/<action>', 'company/<id:d+>.html'=>'company/list', ], ],
3.GII是基于本地访问使用的 所有使用localhost或127.0.0.1来访问。