Yii 链接无法正常工作
Yii links not working properly
在我的 Yii 应用程序中,我在 Yii 的 urlManager
中定义了如下规则:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'izletiste/<grad:\.*?>/<naziv:.*?>/<id:d+>'=>'izletiste/show',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
现在,当我想创建一个 link 时,我使用以下结构:
<?php echo CHtml::link(CHtml::encode($izletiste->nazivIzletista),array("izletiste/show","grad"=>"Paris","naziv"=>"Some text", "id"=>$id)); ?>
我得到的url如下:
http://mywebsite.com/izletiste/Paris/Some+text/21
但是当我点击 link 时,出现以下错误:
Error 404
The system is unable to find the requested action "Paris".
我的问题是为什么会这样,为什么 Yii 不识别应该调用 izletiste/show 操作而不是 izletiste/paris,以及如何解决这个问题?
尝试像这里这样更改第一条规则:
'izletiste/<grad>/<naziv>/<id:\d+>'=>'izletiste/show'
在我的 Yii 应用程序中,我在 Yii 的 urlManager
中定义了如下规则:
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'izletiste/<grad:\.*?>/<naziv:.*?>/<id:d+>'=>'izletiste/show',
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
),
现在,当我想创建一个 link 时,我使用以下结构:
<?php echo CHtml::link(CHtml::encode($izletiste->nazivIzletista),array("izletiste/show","grad"=>"Paris","naziv"=>"Some text", "id"=>$id)); ?>
我得到的url如下:
http://mywebsite.com/izletiste/Paris/Some+text/21
但是当我点击 link 时,出现以下错误:
Error 404
The system is unable to find the requested action "Paris".
我的问题是为什么会这样,为什么 Yii 不识别应该调用 izletiste/show 操作而不是 izletiste/paris,以及如何解决这个问题?
尝试像这里这样更改第一条规则:
'izletiste/<grad>/<naziv>/<id:\d+>'=>'izletiste/show'