Yii createUrl包含特殊字符时

时间:2014-03-12 07:35:02

标签: php yii

我在Yii创建URL时遇到问题,特别是在使用标签和短划线(# - )时包含特殊字符。

我注意到当我包含#或 - 时,它会将本地化目录删除到URL的后面。但是,如果我摆脱#或 - 本地化目录位于URL的正确位置,例如:

<?php echo Yii::app()->createUrl('/teamgoal/detail/'.$comment->comment->goal_id."#gallery-".$comment->comment->gc_id."");?>

网址产生:

http://example.com/mtd/htdocs/teamgoal/11996#gallery-18074/language/th

这是不正确的。我想要的是:

http://example.com/mtd/htdocs/th/teamgoal/detail/11996#gallery-19804

我该如何解决这个问题?

非常感谢!

2 个答案:

答案 0 :(得分:0)

也许您可以通过以下方式在配置中使用重写规则;

'urlManager'=>array(
    'urlFormat'=>'path',
    'showScriptName'=> false,
    'rules'=>array(
        '<language:\w+>/<controller:\w+>/<action:\w+>/<id:\d+>'=> '<language>/<controller>/<action>/<id>',
    ),
),

答案 1 :(得分:0)

如果你有这个,你创建url命令

... createUrl('/ teamgoal / detail /'.... 该网址将包含.... / teamgoal / detail /.....

你确定你没有复制错误吗?否则,请检查您是否有任何特殊的urlManager重写类或规则