В web/.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
В корень сайта .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>
В urlManager
UrlManager:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/index',
],
Сайт должен открываться по адресу
site.com (главная страница), из адреса убирается web.
Если действие в контроллере SiteController, то в urlManager добавить
'<_a:(login)>' => 'site/<_a>'
Форма логина по адресу
site.com/login
Так же может потребоваться указать в конфигурации 'loginUrl'
Пример(данные и пути указывайте свои)
'user' => [
//'identityClass' => 'app\modules\users\models\Users',
'identityClass' => app\modules\users\models\Users::className(),
'enableAutoLogin' => true,
'loginUrl' => ['users/default/login']
],