Настройка url для yii2. Для настройки url нам необходимо выполнить 4 шага.
Шаг 1. Создайте в корневом каталоге файл .htaccess и добавьте следующий код.
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
<IfModule mod_rewrite.c>
# deal with admin first
RewriteCond %{REQUEST_URI} ^/(admin)
RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L]
RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L]
RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css)/
RewriteCond %{REQUEST_URI} ^/(admin)
RewriteRule ^.*$ backend/web/index.php [L]
RewriteCond %{REQUEST_URI} ^/(assets|css|js|images)
RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L]
RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
RewriteRule ^images/(.*)$ frontend/web/images/$1 [L]
RewriteRule ^(.*)$ frontend/web/$1 [L]
RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css|js)/
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ frontend/web/index.php
</IfModule>
Шаг 2. Создайте в каталоге /frontend/web и /backend/web/ файл .htaccess и добавьте следующий код.
# Если это папка или файл, открываем его
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# В противном случае перенаправляем на index.php
RewriteRule . index.php
Шаг 3. В файл frontend/config/main.php добавляем следующий код
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, //'suffix' => '.html', 'rules' => [ '' => 'site/index', '<action>'=>'site/<action>', ], ], 'assetManager' => [ 'basePath' => '@webroot/assets', 'baseUrl' => '@web/assets' ], 'request' => [ 'baseUrl' => '' ]
Шаг 4. В файл /backend/config/main.php добавляем следующий код
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, //'suffix' => '.html', 'rules' => [ '' => 'site/index', '<action>'=>'site/<action>', ], ], 'assetManager' => [ 'basePath' => '@webroot/assets', 'baseUrl' => '@web/assets' ], 'request' => [ 'baseUrl' => '/admin' ]
На этом все должно заработать

Добавить комментарий