在Yii2中找不到(#404)

时间:2016-01-17 13:24:13

标签: php xampp localhost yii2

我从Yii2开始,已经安装了XAMPP,在Yii2项目模板的帮助下创建了一个名为'yiidemo'的基本项目。然后通过此网址http://localhost:8080/yiidemo/web/index.php?r=gii访问Gii以生成示例控制器“问候语”,但是当我点击“尝试”链接时,它会显示以下错误消息(网址为http://localhost:8080/yiidemo/web/index.php?r=greeting):

未找到(#404)

这是controllers \ greetingController的代码:

<?php

namespace app\controllers;

class greetingController extends \yii\web\Controller
{
    public function actionIndex()
    {
        return $this->render('views/index');
    }

}

这是views \ greeting \ index.php代码:

<?php
/* @var $this yii\web\View */
?>
<h1>greeting/index</h1>

<p>
    You may change the content of this page by modifying
    the file <code><?= __FILE__; ?></code>.
</p>

任何机构都可以建议如何使用Yii2 hello world示例。

3 个答案:

答案 0 :(得分:5)

控制器需要全部为CamelCase并以大写字母开头。所以在你的情况下,GreetingController(类和文件)。

在你的行动中使用:

return $this->render('index');

详细了解如何使用此方法here

答案 1 :(得分:0)

检查文件是否保存为GreetingsController.php而不仅仅是GreetingsController(没有.php) 虽然这不是你犯的错误,但它仍会产生相同的错误信息。

答案 2 :(得分:0)

检查您的apache配置文件,并确保网站目录是否允许覆盖

您可以在ubuntu系统中找到配置文件

sudo nano /etc/apache2/sites-enabled/000-default.conf

很少有Linux系统具有配置文件

 sudo nano /etc/httpd/conf/httpd.conf

只需检查您的配置文件并替换 使用AllowOverride All

例如

<Directory /var/www/html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

保存文件更改后,只需重新启动Apache服务器