0

私の 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>',
            ),
        ),

ここで、リンクを作成する場合は、次の構造を使用します。

<?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/paris の代わりに izletiste/show アクションを呼び出す必要があることを認識しないのか、そしてこれを修正する方法は?

4

1 に答える 1

1

次のように最初のルールを変更してみてください。

'izletiste/<grad>/<naziv>/<id:\d+>'=>'izletiste/show'
于 2015-01-29T05:51:55.830 に答える