В моем приложении Yii я определил правила в urlManager
Yii следующим образом:
'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>',
),
),
Теперь, когда я хочу создать ссылку, я использую следующую конструкцию:
<?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
Но когда я нажимаю на ссылку, я получаю следующую ошибку:
Ошибка 404
Системе не удалось найти запрошенное действие «Париж».
Мой вопрос: почему это происходит, почему Yii не распознает, что действие izletiste/show должно называться вместо izletiste/paris, и как это исправить?
\.*?
иd+
. Это должно быть<grad:\w+>
и<id:\d+>
соответственно. Чего вы пытались добиться, используя<grad:\.*?>
? - person Samuel Liew♦   schedule 29.01.2015