2015-03-17 3 views
1

Привет, я должен создать удобный URL, но при использовании с параметрами он не работает.Yii2 создать удобный URL с параметрами

Адрес:

Url::to(['site/index', 'id' => 1]); 

URL выглядит следующим образом:

localhost/testApplication/frontend/web/index.php/site/index?id=1 

/forntend/config/main.php

'urlManager' => [ 
     'class' => 'yii\web\UrlManager', 
     'enablePrettyUrl' => true, 
     //'showScriptName' => false, 
     'rules' => [ 

     ], 
    ], 

I ш ant, например

localhost/testApplication/frontend/web/index.php/site/index/id/1 

и после этого как получить доступ к значению идентификатора в контроллере.

+0

вы хотите сделать это для 'сайта/index' только? – arogachev

+0

да это только для сайта/индекса –

+0

возможно дублировать [управление URL в Yii 2] (http://stackoverflow.com/questions/22963353/url-management-in-yii-2) – Alex

ответ

1
'rules' => [ 
    'site/index/id/<id:\d+>' => 'site/index' 
    //'site/index/<id:\d+>' => 'site/index' Better solution 
    //'<controller>/<action>/<id:\d+>' => '<controller>/<action>' Will be applied for all controllers and actions 
], 

Routing Doc.

И после того, как в своем действии:

public function actionIndex($id) 
{ 
    ... 
} 
+0

как написать правило для более чем один параметр? –

+1

'Url :: к ([ 'сайта/индекса', 'идентификатор' => 1, 'param2' => 'тест']);' // ' 'сайта/индекс//' = > «сайт/index'' // ' функция actionIndex общественности ($ ID, $ param2) ' –

+0

любое правило, как сайт/индекс/* => сайт/индекс –

 Смежные вопросы

  • Нет связанных вопросов^_^