Переименуйте директорию site, придумайте название для этого локального проекта потому, что в views есть директория site, к которой обращается контроллер SiteController.
Пусть новое название будет mysite.
В этой директории Вы расположите весь свой проект на yii2.
Потом, в корень своего проекта положите .htaccess такого содержания:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} ^/.*
RewriteRule ^(.*)$ web/$1 [L]
RewriteCond %{REQUEST_URI} !^/web/
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ web/index.php
</IfModule>
А в директории проекта web оставьте такой:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Теперь, в файле config/web.php сделайте следующее:
use \yii\web\Request;
$baseUrl = str_replace('/web', '', (new Request)->getBaseUrl());
return [
'components' => [
'request' => [
'baseUrl' => $baseUrl,
],
],
];
Это даст Вам возможность копировать файл конфигурации в разные свои проекты не заботясь о названии директории, в которой будет находиться проект.
А в urlManager напишите первое, главное правило
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/index'
],
],
Тогда при переходе по адресу
localhost/mysite
у Вас должна будет открыться главная страница Вашего проекта, без "web" в адресной строке.