Yii2. Рабочий htaccess для basic-шаблона.


Правильная настройка htaccess — частая проблема при настрйоке нового приложения. В этой статье — пример рабочего htaccess для yii2-basic шаблона.

Итак, для правильной настройки Вам потребуется выполнить несколько несложных шагов.

1. Настраиваем корневой htaccess. Он должен лежать в корне Вашего приложения — грубо говоря — там, где лежит composer.json.

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
 

Обратите внимание! Директива Options +FollowSymLinks может быть заблокирована на некоторых хостингах — поэтому в случае возникновения ошибкии 500 — попробуйте закомментировать её, добавив перед ней символ #.

2. Настраиваем htaccess в директории /web.

RewriteEngine On RewriteBase /
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
RewriteRule . index.php

3. Настраиваем приложение.

В файле config/web.php вносим несколько изменений:
— добавляем в базовые настройки приложения (где указан name Вашего приложения) параметр:

'homeUrl'=>'/'

— в компонент request добавляем параметр:

'baseUrl'=>'/'

— снимаем комментарии с компонента urlManager — в итоге должен получится примерно такой компонент:

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [],
]

После этих несложных действий сайт будет доступен без дополнительных префиксов в адресной строке — сразу по Вашему доменному имени, например — http://domain.com/.

Если Вам также интересен htaccess для advanced-шаблона — его пример можно найти здесь

Надеюсь статья была полезной — если остались вопросы — добро пожаловать в Комментарии ниже. Удачи!


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *