.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

Шаг 2

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

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

    RewriteRule . index.php

Шаг 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>',
        ],
    ],
?>

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

Если у вас возникла ошибка: 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' => ''
    ],
?>
Yii2 PHP.htaccessYii2