把backend复制为api访问报错 [ 2.0 版本 ]
An Error occurred while handling another error:
exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "site/error".' in G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\Module.php:532
Stack trace:
#0 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\ErrorHandler.php(95): yii\base\Module->runAction('site/error')
#1 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\web\NotFoundHttpException))
#2 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\web\NotFoundHttpException))
#3 {main}
Previous exception:
exception 'yii\web\NotFoundHttpException' with message 'Page not found.' in G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\Request.php:193
Stack trace:
#0 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\Application.php(82): yii\web\Request->resolve()
#1 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#2 G:\LocalDev\api.bto.com\wwwroot\index.php(31): yii\base\Application->run()
#3 {main}
在网上搜索了一些资料
修改了common/config/bootstrap.php里的别名还是一样
Yii::setAlias('@common', dirname(__DIR__));
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console');
最佳答案
其他 1 个回答
-
应该是 namespace 和 config/main.php 的问题,
如果你是直接把 backend 改名为 api(就是已经不存在backend文件夹)
你需要把api/controllers and api/models 下面所有的 namespace 从 backend/xxxx/xxxx 改为 api/xxx/xxx
同时需要把api/config/main.php 下面的 defaultController 从 backend/xxx/xxx 改为 api/xxx/xxx最好的解决办法,尝试搜索,在api文件包内搜索 backend 这个keyword
祝好运。
共 1 条回复
jackean
注册时间:2017-05-02
最后登录:2017-05-12
在线时长:0小时34分
最后登录:2017-05-12
在线时长:0小时34分
- 粉丝0
- 金钱30
- 威望0
- 积分30