От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой небольшой статье мы с вами настроим ЧПУ в Yii2. Настройка здесь достаточно простой процесс и не должен вызывать значительных трудностей. Итак, начнем.
Думаю, никому уже не нужно объяснять, что такое ЧПУ. Фактически красивые адреса (ЧПУ) уже стали стандартом в веб-разработке и уже сложно отыскать сайт в сети, который бы использовал адреса с явными GET параметрами. Практически все сайты сейчас могут похвастать красивыми адресами.
Фреймворк Yii2 из коробки не имеет настроенных ЧПУ, но исправить это крайне легко. Как вы помните, по умолчанию сразу после установки фреймворка для доступа к главной странице нам необходимо обратиться к папке web, в которой и лежит публичная часть Yii приложения. Т.е. для доступа к главной странице мы должны были набрать адрес //yii2/web/.
От папки web мы смогли легко избавиться с помощью файлов .htaccess. Напомню, в корень приложения мы положили файл .htaccess со следующими строками кода:
1 2 |
RewriteEngine on RewriteRule ^(.+)?$ /web/$1 |
Ну а в папку web положили такой код файла .htaccess:
1 2 3 4 |
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php |
Таким образом, мы избавились от папки web и стали на шаг ближе к получению ЧПУ. Однако это еще не все. Сейчас для того, чтобы получить доступ к странице с формой, которая находится в действии Page контроллера Test, нам нужно набрать следующий адрес: //yii2/?r=test/page. Вместо такого адреса хотелось бы иметь возможность обратиться к данной странице по такому адресу: //yii2/test/page.
Для решения поставленной задачи нам необходимо обратиться к файлу \config\web.php и прописать в массив components следующий код:
1 2 3 4 5 6 7 |
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ // ... ], ], |
А в элемент request массива components добавить следующую строчку:
1 |
'baseUrl' => '', |
Теперь попробуем обратиться к нужному нам адресу.
Как видим, у нас получилось, красивые адреса заработали. На этом пока все. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.