错误404无法解决Yii中的请求(已检查其他解决方案但无法正常工作)

时间:2015-04-08 16:54:40

标签: php yii

我收到了这个错误:

Error 404 Unable to resolve the request "PlanComment/update".

它适用于本地但不适用于服务器。 我也改变了区分大小写,但仍然没有用。 这是我的代码:

PlanCommentController.php

class PlanCommentController extends Controller
{
    /**
     * @var string the default layout for the views. Defaults to '//layouts/column2', meaning
     * using two-column layout. See 'protected/views/layouts/column2.php'.
     */
    public $layout='//layouts/column2';

/**
 * @return array action filters
 */
public function filters()
{
    return array(
        'accessControl', // perform access control for CRUD operations
       //   'postOnly + delete', // we only allow deletion via POST request
    );
}

/**
 * Specifies the access control rules.
 * This method is used by the 'accessControl' filter.
 * @return array access control rules
 */
public function accessRules()
{
    return array(
        array('allow', // allow authenticated user to perform 'create' and 'update' actions
            'actions'=>array('update', 'delete'),
            'users'=>array('@'),
        ),
        array('allow', // allow admin user to perform 'admin' and 'delete' actions
            'actions'=>array('delete'),
            'users'=>array('admin'),
        ),
        array('deny',  // deny all users
            'users'=>array('*'),
        ),
    );
}

....

View file: _comment.php

    $this->widget('booster.widgets.TbButtonGroup', array(
                          'htmlOptions' => array('class' => 'dropup'),
                          'buttons' => array(
                                array('items' => array(
                                    array('label' => 'Delete Comment', 'url' => array('PlanComment/delete',            'id'=>$comment->id, 'plan_id'=>$comment->plan_id),
                                           'visible'=>(Yii::app()->user->id == $comment->user_id) ||   Yii::app()->user->isPlanAuthor($comment->plan_id)),
                                    '---',
                                    array('label' => 'Edit Comment', 'url' => array('PlanComment/update', 'id'=>$comment->id, 'plan_id'=>$comment->plan_id),
                                            'visible'=>(Yii::app()->user->id == $comment->user_id)),
                      )),),)); ?>

Config file: main.php

// uncomment the following to enable URLs in path-format 'urlManager'=>array( 'urlFormat'=>'path', // remove index.php 'showScriptName'=>false, 'caseSensitive'=>false, 'rules'=>array( 'home'=>'site/index', 'plan'=>'plan/index', 'video'=>'video/index', 'login/<service:(google|google-oauth|yandex|yandex-oauth|twitter|linkedin|vkontakte|facebook|steam|yahoo|mailru|moikrug|github|live|odnoklassniki)>' => 'site/login', '<action:(login|register|logout|about)>' => 'site/<action>', '<controller:\w+>/<ten>_<id:\d+>'=>'<controller>/view', '<controller:\w+>/update/<ten>_<id:\d+>'=>'<controller>/update', '<controller:\w+>/view_thanhvien/<ten>_<id:\d+>'=>'<controller>/view_thanhvien', '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', ), ),

我的代码出了什么问题? 请帮忙。

1 个答案:

答案 0 :(得分:1)

您的网址应该与"planComment/update"代替"PlanComment/update". 控制器名称的第一个字母必须为小写