2014-03-12 138 views
0

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

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

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

的URL产生:

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

这是不正确。我要的是:

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

我该如何解决这个问题?

非常感谢!

回答

0

也许您可以按照以下方式在您的配置中使用重写规则;

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

我似乎无法得到那个工作,“语言/ '仍然在那里:( – jonprasetyo

0

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

... createUrl( '/ teamgoal /细节/' .... 网址西港岛线包含..../teamgoal /细节/ .....

你确定你没抄什么问题吗?如果不是,请检查您是否有什么特殊的urlManager重写类或规则