Урок 3. ЧПУ адреса в Yii2

preview_player
Показать описание
Фреймворк YII2 с нуля до Профи. Быстрая разработка с современным фреймворком:

Данный урок мы посвятим работе с компонентом urlManager и роутингом (маршрутизация) во фреймворке Yii2. Благодаря компоненту urlManager мы можем достаточно просто создавать ЧПУ адреса для страниц сайта, описывая правила маршрутизации.

Рекомендации по теме
Комментарии
Автор

Народ, у кого не отображаются стили, замените данные в файле 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>

qarticus
Автор

После раскоментирования urlManager-а все ссылки перестают работать. Ответ сервера: "The requested URL /web/site/about was not found on this server". В чём может быть причина?

konstantinshakhov
Автор

Может кому поможет, а то я долго искал в чем проблемма. Если при прописывании baseUrl на Open Server слетают стили CSS, то отключите нетгинс в настройках сервера. У меня сработала комбинация PHP - 7 и Apache - PHP 7 x64.

АндрейБуимов-вк
Автор

Доброго времени суток. В видео было сказано, что курс очень коротенький. Значит есть полный. Учитывая высокое качество и доступность изложения хотелось бы узнать где можно посмотреть. Спасибо.

redhat
Автор

В корневом .htaccess, на хостах использующих связку Apache + Nginx, могут возникнуть проблемы.
Всегда используйте более развернутое правило перенаправления:

Options +FollowSymLinks
IndexIgnore /
RewriteEngine on

RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^fonts/(.*)$ web/fonts/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule ^robots.txt web/robots.txt [L]
# Все что находится в папке web, что нужно показать
RewriteRule (.*) /web/$1

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

alekseyshulikin
Автор

При добавлении любого параметра в rules, выводит filemtime(): stat failed for

aleksandrmannawardz
Автор

Хех, а вот вопрос: когда мы прописали
'<action>' => 'post/<action>'
То как нам потом попасть на страницу post, если она не главная? оО

АлександрКопытенко
Автор

пишу в конфиг 'defaultRoute' => 'post/test', вообще никакого результата))

kakzru
Автор

начинать надо сразу в phpStorm...наверно

hechnqn