urlManager
Добавлено: 2017.04.14, 07:36
Yii 2.0 advanced;
В /frontend/config/main.php в секции 'components' пишу
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
// 'enableStrictParsing' => true,
'rules' => [
[
'pattern' => '',
'route' => 'site/index',
],
[
'pattern' => '<action:(?(?=(index|site\/index))|(?(?!.*[\/].*).*))>',
'route' => 'site/<action>',
],
],
],
Чтобы проверить, правильно ли работает, во view для actionIndex пишу:
<?=Url::to(['site/contact'])?>
<br/><a href="<?=Url::to(['site/contact'])?>">Анкор</a>
Перехожу по ссылке - 404.
А если поставить 'enablePrettyUrl' => false, то ссылка формируется некрасивая, но рабочая,
/index.php?r=site%2Fcontact
Вопрос в том, как сделать правильный URL manager? Ведь urlManager ссылку из контроллер/экшн в URL-адрес формирует. А вот обратно из URL-адреса в контроллер/экшн преобразовать не может.
В /frontend/config/main.php в секции 'components' пишу
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
// 'enableStrictParsing' => true,
'rules' => [
[
'pattern' => '',
'route' => 'site/index',
],
[
'pattern' => '<action:(?(?=(index|site\/index))|(?(?!.*[\/].*).*))>',
'route' => 'site/<action>',
],
],
],
Чтобы проверить, правильно ли работает, во view для actionIndex пишу:
<?=Url::to(['site/contact'])?>
<br/><a href="<?=Url::to(['site/contact'])?>">Анкор</a>
Перехожу по ссылке - 404.
А если поставить 'enablePrettyUrl' => false, то ссылка формируется некрасивая, но рабочая,
/index.php?r=site%2Fcontact
Вопрос в том, как сделать правильный URL manager? Ведь urlManager ссылку из контроллер/экшн в URL-адрес формирует. А вот обратно из URL-адреса в контроллер/экшн преобразовать не может.