Товарищи дорогие!!! Помогите пожалуйста разобраться с вопросом...
В common/config/main.php прописано:
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,
'rules' => [
[
'pattern' => '',
'route' => '',
'suffix' => '',
],
[
'pattern' => '<controller>/<action>/<id:\d+>',
'route' => '<controller>/<action>',
'suffix' => '',
],
[
'pattern' => '<controller>/<action>',
'route' => '<controller>/<action>',
'suffix' => '',
],
[
'pattern' => '<module>/<controller>/<action>/<id:\d+>',
'route' => '<controller>/<action>',
'suffix' => '',
],
[
'pattern' => '<module>/<controller>/<action>',
'route' => '<controller>/<action>',
'suffix' => '',
],
],
],
]
В frontend/config/main.php
'components' => [
'urlManager' => [
'baseUrl' => '',
],
]
В backend/config/main.php
'components' => [
'urlManager' => [
'baseUrl' => '/admin/',
],
]
Файл .htaccess в корне:
<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine On
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^admin/?(.*) backend/web/index.php/$1 [L]
RewriteRule ^(.*)$ frontend/web/index.php/$1 [L]
</IfModule>
Файлы .htaccess в папках frontend и backend
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
Весь этот код прекрасно работает и организовывает ссылки вида:
www.mysite.ru/site/index
www.mysite.ru/post/index
www.mysite.ru/admin/site/index
www.mysite.ru/admin/user/index
и тому подобное
Необходимо Site убрать из ссылок, тоесть что бы в ссылке не было site, но экшен что бы шел через этот контроллер
www.mysite.ru/index - должен отрабатывать SiteController экшен index, а все остальные ссылки оставить как есть
Добавляю в common/config/main.php
[
'pattern' => '<action>/<id>',
'route' => 'site/<action>',
'suffix' => '',
],
[
'pattern' => '<action>',
'route' => 'site/<action>',
'suffix' => '',
],
это избавляет от site и ссылки получаются
www.mysite.ru/index вместо www.mysite.ru/site/index, как раз то что нужно, но перестают работать ссылки через другие контроллеры
например www.mysite.ru/user/index - выдает сообщение об ошибке Not Found (#404)
Перекопал кучу доков и блогов но так и не могу найти решение! Помогите люди добрые!