Навигация по каталогу статей
ЧПУ адреса в Yii2
Опубликовал  GMan1990 GMan1990 Добавлено  08-01-2017 07:42 08-01-2017 07:42 4514  Прочтений 4514 Прочтений  0 Комментариев 0 Комментариев
printer

Краткая заметка на тему "Как в Yii2 basic убрать web/ из url при помощи .htaccess и правил urlManager'а?"

Создать .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 (.*) /web/$1

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

в папке web в создать .htaccess:

RewriteEngine On RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php
 

В конфиге web.php указываем это

'urlManager' => [
 'enablePrettyUrl' => true,
 'showScriptName' => false,
 'enableStrictParsing' => false,
 'suffix'=>'.html',
 'rules' => [
'<action:(about|contact|login)>' => 'site/<action>',
 ],
],

в конфиге web.php в 'request' добавляем строчку:
'baseUrl'=> '',

Столкнулся с проблемой отображения стилей и скриптов при выполнении всех шагов, а именно после 'baseUrl'=> ''. 

Поскольку я работаю с локальным сервером OpenServer, в настройках → на вкладке Модули → в блоке HTTP была связка Apache и Nginx. Оставляйте только Apache и проблема решится.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, авторизуйтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.