Вопрос: Как я могу включить ЧПУ в Yii2. Я хочу убрать index.php и ? из переметров адреса. Какую часть нужно отредактировать в Yii2 для этого?

Ответ:

Я сделал это в Yii2. Включите mod_rewrite для Apache ( примечание: почти на любом хостинге этот модуль включен по умолчанию ). Для Yii2 установленному в basic сделайте следующее.

Создайте файл .htaccess в папке web ( она содается при первоначачальной установке Yii2 ) и в этот htaccess добавьте следующее:

И в файле web.php в ваших настройках Yii2 добавьте ( или отредактируйте ) в разделе components, чтобы было так:

В случае если Yii2 был установлен в advanced шаблоне создавайте .htaccess в папке backend/web и frontend/web, а urlManager добавляйте в файл common/config/main.php

Нюансы:

  • приведенный вариант ЧПУ для Yii2 работает только для Apache
  • в настройках Apache должны быть разрешены .htaccess ( смотрите директиву в настройках домена должно быть AllowOverride All )

Это перевод и компиляция источник здесь.

7 марта 2016 |

Есть что сказать по теме статьи? Пожалуйста - пишите!