Задать вопрос
@edik89

Почему слэш отображается как %2F?

Столкнулся со следующей проблемой. Напр-р, у меня есть страница вида yii.loc:8080/about/contacts и я хочу, чтобы к для таких страниц автоматически добавлялся слэш в конце. Вариант с добавлением правила в конфигурацию сервера я не рассматриваю, т.к должна быть возможность добавлять или убирать слэш из под админки. Я использовал UrlNormalizer в настройках
return [
    'class'=>'common\components\lang\LangUrlManager',
    'enablePrettyUrl'=>true,
    'showScriptName'=>false,
    'suffix' => '/',
    'normalizer' => [
        'class' => 'yii\web\UrlNormalizer',
        'action' => yii\web\UrlNormalizer::ACTION_REDIRECT_TEMPORARY, // use temporary redirection instead of permanent
    ],
    'rules'=> [
        // Pages
        ['pattern'=>'<url:[\w_\/-]+>', 'route'=>'page/view'],
    ]
];


Все работает, но проблема в том, что страница yii.loc:8080/about/contacts преобразуется в yii.loc:8080/about%2Fcontacts Почему слэш преобразуется в %2 и как можно от этого избавиться?
  • Вопрос задан
  • 471 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@edik89 Автор вопроса
Решил, переопределением UrlManager и регуляркой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы