我正在使用Yii2高级模板构建我的网站。 URL被重写为
localhost:9001/projectyii/page/index/#/demo
(page
是控制器,index
是操作,/#/demo
只是AngularJS在前端的路由)
在我的localhost上一切正常。当我将其上传到我的服务器时,无论何时我点击URL都有前缀example.com/projectyii/
,它将抛出以下异常
ReflectionException
类yii \ web \ urlManager不存在
1. in /home/scott/public_html/projectyii/vendor/yiisoft/yii2/di/Container.php at line 415
406407408409410411412413414415416417418419420421422423424 * @return array the dependencies of the specified class.
*/
protected function getDependencies($class)
{
if (isset($this->_reflections[$class])) {
return [$this->_reflections[$class], $this->_dependencies[$class]];
}
$dependencies = [];
$reflection = new ReflectionClass($class); // error here
我注意到还有一些其他网站已经在同一台服务器上运行(它们都使用Yii 1.1.13)并且它们一直没有问题,例如
example.com/project1/
example.com/project2/
...
它只是在Yii2中失败了这个新网站。
/frontend/config/main.php
'urlManager' => [
'class' => 'yii\web\urlManager',
'baseUrl' => $baseUrl,
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [],
]
错误告诉它找不到urlManager
类,但是类确实存在,名称空间很好,因为我不修改包含urlManager
类的vendor文件夹中的任何内容。
我不明白我在这里缺少什么。任何帮助表示赞赏!感谢
答案 0 :(得分:0)
Linux与其他unix系统一样,区分大小写你应该使用:
'class' => 'yii\web\UrlManager',
代替urlManager