Yii url使用urlManager重写url?

时间:2013-10-14 09:33:55

标签: php yii

这是我的控制器文件MyController.php

class MyController extends CController
{
    /**
     * Index action is the default action in a controller.
     */
    public function actionIndex()
    {
        $this->printtablerecord();
        $this->abc();
    }
    public function print(){
        echo "print";
    }
    public function abc(){
        echo "abc";

    }
    public function abc1(){
        echo "abc1";
    }

}

当我运行此文件domain.com/mypage/index.php时,请调用此控制器。

但我想运行domain.com/mypage/index.php/abc它返回404.

我想用url运行控制器功能。

当我运行domain.com/mypage/index.php/mycontroller/functionname

使用url运行我的特定功能。

如何使用urlManager将规则写入main.php?

这是我的config / main.php

'urlManager'=>array(
        'urlFormat'=>'path',
        'rules'=>array(
                'abc' => 'MyController/abc',
    ),

2 个答案:

答案 0 :(得分:2)

更改

public function print(){
    echo "print";
}

为:

public function actionPrint(){
    echo "print";
}

你也可以隐藏index.php:http://www.yiiframework.com/forum/index.php/topic/7803-how-to-remove-index-php-from-url/

答案 1 :(得分:1)

您必须将这些功能名称更改为操作。比如abcAction,abc1Action,printAction

阅读本http://www.yiiframework.com/doc/guide/1.1/en/basics.controller