yii url管理器。路径格式的URL

yii url管理器。路径格式的URL,yii,url-routing,Yii,Url Routing,我一直在开发基于Yii框架的web应用程序 我在尝试创建sef URL时遇到了麻烦 我所拥有的: 配置已设置 “urlManager”=>数组( “urlFormat'=>“路径”, 'showScriptName'=>false, '规则'=>数组( //这里有规则 ) ) 这是用于测试的代码: echo$this->createUrl('site/test',array('help'=>'me') $this-是控制器 如果我生活在config empty中的“rules”数组中,我会得到这

我一直在开发基于Yii框架的web应用程序

我在尝试创建sef URL时遇到了麻烦

我所拥有的:

  • 配置已设置

    “urlManager”=>数组( “urlFormat'=>“路径”, 'showScriptName'=>false, '规则'=>数组( //这里有规则 ) )

  • 这是用于测试的代码:

  • echo$this->createUrl('site/test',array('help'=>'me')

    $this
    -是控制器

    如果我生活在config empty中的“rules”数组中,我会得到这个
    /site/test/help/me

    如果

    我仍然得到
    /site/test?help=me
    。我希望看到
    /site/test/me

    有人能帮我吗


    提前感谢。

    更改规则顺序并删除
    。它将自动添加到操作中。因此,您的规则应如下所示:

    '<controller:\w+>/<action:\w+>/<help:\w+>' => '<controller>/<action>',
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
    
    '/'=>'/',
    '/' => '/',
    
    规则的顺序很重要。你需要把最详细的放在第一位

    问候

    'rules'=>array(
        '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        '<controller:\w+>/<action:\w+>/<help:\w+>' => '<controller>/<action>/<help>',
    )
    
    '<controller:\w+>/<action:\w+>/<help:\w+>' => '<controller>/<action>',
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',