Для того, чтобы корректно и красиво настроить ЧПУ (человеко-понятный урл) на basic версии фреймворка YII2 необходимо в корень проекта добавить файл .htaccess со следующим содержимым
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Options +FollowSymLinks IndexIgnore */* RewriteEngine On RewriteCond %{REQUEST_URI} !^/(web) RewriteRule ^assets/(.*)$ /web/assets/$1 [L] RewriteRule ^css/(.*)$ web/css/$1 [L] RewriteRule ^js/(.*)$ web/js/$1 [L] RewriteRule ^images/(.*)$ web/images/$1 [L] RewriteRule (.*) /web/$1 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /web/index.php |
Затем переходим в папку ./web и создаём там файл .htaccess со следующим содержимым
1 2 3 4 5 6 |
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php |
После не хитрых манипуляций вносим следующие правки в ./config/web.php и находим строку components
- Находим ‘request’, после ‘cookieActivationKey’ добавляем ‘base’ => » ;
- Идём ниже и находим ‘urlManager’ (предварительно раскомментируйте его), добавьте в ‘rules’ следующую строку кода ‘<controller:\w+>/<action:\w+>/’ => ‘<controller>/<action>’ ;
Получите следующее
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
'components' => [ 'request' => [ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 'cookieValidationKey' => '123', 'baseUrl' => '' ], //здесь остальной код, который не трогали 'db' => $db, 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ '<controller:\w+>/<action:\w+>/' => '<controller>/<action>' ], ], ], |
Переходим на наш сайт и любуемся красивыми ЧПУ.
Таким нехитрым образом мы разобрались с «Настройка .htaccess файла для правильной настройки ЧПУ«!