Поддержка Проблемы и решения Лишний редирект с get параметра /?25= на /?25

  • Добрый день!
    Сайт https://himprof.by/
    На данном сайте по какой-то причине происходит некорректный редирект с https://himprof.by/?25= на https://himprof.by/?25 (убирается знак равно).
    Проверял через сервис bertal: https://bertal.ru/index.php?a10581846/https://himprof.by/?25=#h;
    Т.е. подобный запрос должен отдавать код 200, а не 301 (как у всех остальных сайтов).
    Так же писал Хостеру, но получил ответ вроде «данный редирект срабатывает из-за настроек самой cms wordpress».
    Подскажите пожалуйста, из-за чего такое происходит и как я это могу исправить?
    (Пробовал убирать вообще всё из .htaccess — безрезультатно).

    С Уважением, Дмитрий

    • Тема изменена 1 год, 4 месяца назад пользователем ph0enixt1m3.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Что в Настройках — Чтение? Попробуйте «Ваши последние записи » установить, сбросить кэши.
    В моем случае это оказалось. Если ставить Статическую страницу то переадресует.

    Пробовал ставить, редирект действительно уходит, но у меня главная — конкретная страница, поэтому список записей — не вариант.

    Это работает редирект на канонический адрес https://github.com/WordPress/WordPress/blob/508485887ff5bfe24ed79bb290e070e1af0e8180/wp-includes/canonical.php#L264

    В принципе можно попробовать отменить его если запрос заканчивается на =

    add_filter( 'redirect_canonical', 'my_redirect_canonical_filter', 10, 2 );
    
    /**
     * Function for <code>redirect_canonical</code> filter-hook.
     * 
     * @param string $redirect_url  The redirect URL.
     * @param string $requested_url The requested URL.
     *
     * @return string
     */
    function my_redirect_canonical_filter( $redirect_url, $requested_url ){
    
    	if (str_ends_with($requested_url,"=")) {
    	  return false;
    	}
    	return $redirect_url;
    }
    

    В общем то такой код ломает сайт и я получаю ошибку 500…

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Лишний редирект с get параметра /?25= на /?25» закрыта для новых ответов.