.htaccess для Yii 2 basic

Настройка .htaccess для Yii 2 basic. Или как убирать web из URL в Yii 2 basic.

Шаг 1

В корень проекта добавляем .htaccess со следующим содержанием:
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
Shell

Шаг 2

В папку /web добавляем файл .htaccess со следующим содержанием:
RewriteEngine On RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php
Shell

Шаг 3

В файле /config/web.php в элемент components массива добавляем:
<?php
    'request' => [
        // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
        'cookieValidationKey' => 'yYy4YYYX8lYyYyQOl8vOcO6ROo7i8twO',
        'baseUrl' => ''
    ],

    //…

    'urlManager' => [
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            '' => 'site/index',
            '<controller:\w+>/<action:\w+>/' => '<controller>/<action>',
        ],
    ],
?>
PHP

Возможные ошибки

Если у вас возникла ошибка: Invalid Configuration — yii\base\InvalidConfigException yii\web\Request::cookieValidationKey must be configured with a secret key. То для решения этой проблеммы вы можете установить флаг enableCookieValidation в false, в /config/web.php ($config['components']['request']):
<?php
    'request' => [
        'enableCookieValidation' => false,
        'baseUrl' => ''
    ],
?>
PHP
Yii2 PHP.htaccessYii2