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

Как побороть ///// на конце url?

Подскажите как побороть проблему с добавлением слешей на конце, на обычные страницы настроены 404 ответы если нет такого роута или вхождения его по чпу или ключу, но если добавить //// на роут главной страницы то вернет обычное состояние. Суть избавиться от возможных дублей. P/S на страницах с 2 вложенности такого нет.
  • Вопрос задан
  • 336 просмотров
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@alekssamos
Программист любитель
$uri = '/example/my/test////page/////';
$uri = preg_replace('#[/]{2,}#', '/', $uri);
echo $uri;

Где-нибудь там всунь перед проверкой.
А, или это, как его, типа если заменил, то Location сделай.
$uri = $_SERVER['REQUEST_URI'];
$new_uri = preg_replace('#[/]{2,}#', '/', $uri);
if ($uri != $new_uri) { 
    header('Location: ' . $new_uri);
    exit();
}

Где-нибудь в начале.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Если есть чпу есть и роутинг, встройте мидлеваре в обработку запроса и перезаписывайте этот дурацкий путь.

Апгрейд.
Жизненный цикл запроса asp net core
https://www.c-sharpcorner.com/article/asp-net-core...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽