Это первая часть разбора фреймворка Yii2, в которой вы разберём его установку и включение ЧПУ. В будущих статьях по Yii2, скорее всего, я не буду очень подробно рассматривать все аспекты и возможности фреймворка, ибо подобных курсов и уроков в интернете полным полно. Статьи на этом сайте, скорее, будут рассчитаны на тех, кому лень изучить полностью документацию, ну, или на тех, кто просто ищет короткий ответ на простой вопрос.
Установка фреймворка
В Yii2 есть два пакета: базовый и расширенный. Отличия можно изучить по таблице:
Расширенную версию рассматривать пока не будем, поэтому сразу перейдём к вариантам установки фреймворка.
Это можно сделать через composer (вместо kotoff нужно указать свою папку, в которую будет произведена установка):
composer create-project --prefer-dist yiisoft/yii2-app-basic kotoff
Также можно скачать архив по ссылке вручную и распаковать его в нужное место.
На этом установку можно считать завершённой.
Настройка ЧПУ
Первым делом нужно перейти к папку, в которую вы установили фреймворк, далее перейти в папку config и найти там файл web.php. Его нужно открыть и раскомментировать urlManager:
Теперь необходимо чуть прокрутить вверх и найти массив по ключу request. Сразу проверьте наличие какого-либо значения в cookieValidationKey, в противном случае добавьте любое своё.
Чтобы убрать из URL лишние папки (базовую папку с фреймворком и папку web) - добавьте в этот массив ещё один элемент:
'baseUrl' => '',
Также в конфиге можно сразу установить язык, чтобы потом к этому не возвращаться:
Итак, с конфигом мы закончили.
Теперь нам необходимо перейти в корень нашего проекта и создать там файл .htaccess. Поскольку я устанавливал Yii в папку kotoff, то создавать .htaccess я буду рядом с ней. Далее вставляем туда следующее (папки скриптов, шрифтов и картинок пока закомментировал):
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ kotoff/web/assets/$1 [L]
RewriteRule ^css/(.*)$ kotoff/web/css/$1 [L]
#RewriteRule ^js/(.*)$ kotoff/web/js/$1 [L]
#RewriteRule ^images/(.*)$ kotoff/web/images/$1 [L]
#RewriteRule ^fonts/(.*)$ kotoff/web/fonts/$1 [L]
RewriteRule (.*) /kotoff/web/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /kotoff/web/index.php
Название папки kotoff, конечно же, меняем на своё. Если же такой папки в принципе у вас нет и вы устанавливали фреймворк в корень, то, соответственно, содержимое .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 ^fonts/(.*)$ web/fonts/$1 [L]
RewriteRule (.*) /web/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php
Теперь можно проверить, всё ли у нас работает. Если при использовании OpenServer не подключаются стили, скрипты, шрифты и т.п. - пробуем перейти в настройки:
И выбираем:
Сохраняем.
Проверяем - всё окей. И на этом, думаю, статью можно завершать)
Перед публикацией, советую ознакомится с правилами!
Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter