Налаштування ЧПУ в Yii2

19

Від автора: вітаю вас, друзі. Ми продовжуємо цикл статей, присвячених знайомству з фреймворком Yii2. У цій невеликій статті ми з вами налаштуємо ЧПУ в Yii2. Налаштування тут досить простий процес і не повинен викликати значних труднощів. Отже, почнемо.

Думаю, нікому не потрібно пояснювати, що таке ЧПУ. Фактично красиві адреси (ЧПУ) вже стали стандартом в веб-розробці і вже складно відшукати сайт в мережі, який би використовував адреси з явними GET параметрами. Практично всі сайти зараз можуть похвалитися красивими адресами.

Фреймворк Yii2 з коробки не має налаштованих ЧПУ, але виправити це дуже легко. Як ви пам’ятаєте, за замовчуванням відразу після установки фреймворку для доступу до головній сторінці нам необхідно звернутися до папки web, в якої і лежить публічна частина Yii додатку. Тобто для доступу до головній сторінці ми повинні були набрати адресу http://yii2/web/.

Від папки web ми змогли легко позбутися за допомогою файлів .htaccess. Нагадаю, в корінь програми ми поклали файл .htaccess з наступними рядками коду:

RewriteEngine on
RewriteRule ^(.+)?$ /web/$1

Ну а в папку web поклали такий код файла .htaccess:

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

Таким чином, ми позбулися папки web і стали на крок ближче до отримання ЧПУ. Однак це ще не все. Зараз для того, щоб отримати доступ до сторінки з формою, яка перебуває в дії Page контролера Test, нам потрібно набрати наступну адресу: http://yii2/?r=test/page. Замість такої адреси хотілося б мати можливість звернутися до цієї сторінці за адресою: http://yii2/test/page.

Для вирішення поставленої задачі нам необхідно звернутися до файлу \config\web.php і прописати в масив components наступний код:

‘urlManager’ => [
‘enablePrettyUrl’ => true,
‘showScriptName’ => false,
‘rules’ => [
// …
],
],

А в елемент request масиву components додати наступний рядок:

‘baseUrl’ => «,

Налаштування ЧПУ в Yii2

Тепер спробуємо звернутися до потрібного нам адресою.

Налаштування ЧПУ в Yii2

Як бачимо, у нас вийшло, красиві адреси заробили. На цьому поки все. Більше про фреймворку ви можете дізнатися з наших безкоштовних або платних уроків. Також створення найпростішого блогу на Yii2 можна подивитися в цьому циклі уроків.