Вывожу на страницу URL сгенерированный функцией
yii/helpers/Url::To
:
<?= Url::to(['user/index']) ?>
Если точка входа - обычный index.php (т.е. перехожу по адресу
http://localhost/
) то вижу правильный URL:
/user/index
Если же точка входа - тестовый index-test.php (адрес -
http://localhost/index-test.php
) то вижу следующее:
/index-test.php/index-test.php/user/index
Естественно при переходе по ссылке получаю 404 т.к. правильный адрес должен быть
/index-test.php/user/index
. В чем причина такого поведения?
UPD:Судя по всему баг появляется только если
Url::To()
используется в
\yii\widgets\Menu::widget
следующим образом
\yii\widgets\Menu::widget(
[
'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'],
'items' => [
['label' => Yii::t('app', 'Label'), 'options' => ['class' => 'header']],
[
'label' => 'Users',
'url' => [Url::to(['user/index'])],
],
]
]
Самое интересное в том что если
[Url::to(['user/index'])]
заменить на
Url::to(['user/index'])
(т.е. убрать квадратные скобки по краям и передавать в url не массив с одной строкой, а просто одну строку) все работает корректно, хотя в
доках сказано что нужно передавать именно массив.