首页 文章

yii网址管理员 . 路径格式的网址

提问于
浏览
1

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

我在尝试制作sef网址时遇到了麻烦 .

是)我有的:

  • 配置已设置 .

'urlManager'=> array('urlFormat'=>'path','showScriptName'=> false,'rules'=> array(//规则转到此处))

  • 这是用于测试的代码:

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

$this - 是控制器 .

如果我'm living '规则' array in config empty I' m得到这个 /site/test/help/me . 我期待这个 .

如果

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

我得到的 /site/test?help=me 也是预期的 .

但如果

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

我还在收获 /site/test?help=me . 我期望看到 /site/test/me

谁能帮助我?

提前致谢 .

1 回答

  • 5

    更改规则的顺序并删除 <help> . 它将自动添加到操作中 . 所以你的规则应该是这样的:

    '<controller:\w+>/<action:\w+>/<help:\w+>' => '<controller>/<action>',
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
    

    规则的顺序很重要 . 你需要先把最详细的一个 .

    问候

相关问题