简体   繁体   中英

Error 404 Unable to resolve the request in Yii (checked other solution but not work)

I got this error:

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

It works well on local but not work on server. I also changed case sensitivity but still not work. Here is my code:

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>', ), ),

Where is wrong in my code ? Please help.

Your url should be like "planComment/update" instead of "PlanComment/update". The first letter of controller name must be lower case .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM