Как настроить URL в Yii2?

Я новичок в Yii2, поэтому у меня есть таблица Brands со своими типами ('brand', 'author', 'company') и их название slug, поэтому мне нужен URL-адрес, подобный этому: www.site.com/{brand_type}/{brand_slug} без имени контроллера, как это сделать?

Related of "Как настроить URL в Yii2?"

Это обычно называют довольно URL. Чтобы добиться этого, в Yii2 поместите это в свой конфигурационный файл приложения под ключ 'components'

 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ // ... '<type:\w+>/slug:\w+>' => 'yourcontroller/youraction', // ... ], ], 

В результате вы передали URL в указанном вами формате, ваш контроллер будет $type и $slug качестве параметров, которые вы можете использовать в своем контроллере, который, как ожидается, примет форму:

 class YourcontrollerController extends YourBaseController { ... public function actionYouraction($type, $slug) { // Do whatever you want with these variables } ... } 

Обратите внимание, что вам понадобится ваш веб-сервер для настройки выполнения index.php вашего приложения, даже если он не указан в URL-адресе. Для Apache это можно сделать, например, используя .httaccess (подробнее здесь) :

 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php 

Окончательное руководство по Yii 2.0 имеет отличный раздел по этой теме