【问题标题】:Yii url rewrite url using urlManager?Yii url 使用 urlManager 重写 url?
【发布时间】:2013-10-14 09:33:54
【问题描述】:

这是我的控制器文件 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?

这是我的配置/main.php

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

【问题讨论】:

    标签: php yii


    【解决方案1】:

    改变

    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/

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • naveen 它不工作。我尝试更改名称后运行,但我得到 404。
      • 你能分享你尝试的网址和控制器代码吗?
      • actionPrint 不是 printAction 伙计们!
      猜你喜欢
      • 2014-04-09
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多