seoforfood
@seoforfood
ваш диджитал-капитан

Почему не корректно работает Redirect 301 в .htaccess?

В файле .htaccess
RewriteEngine On
RewriteBase /

Redirect 301 /news/2021/professor-bez-shtanov.html https://www.crawler.pro/news/2021/produser-dlya-marketologa/professor-bez-shtanov.html


Результат:
https://www.crawler.pro/news/2021/produser-dlya-marketologa/professor-bez-shtanov.html?q=news/2021/professor-bez-shtanov.html

Почему так? Что не так? Уже голову сломал.

Откуда берётся ?q=news/2021/professor-bez-shtanov.html?

И страница в итоге не открывается.
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
@dodo512
Redirect это директива mod_alias.
RewriteEngine и RewriteBase это mod_rewrite.
Очевидно используете одновременно два разных модуля для редиректов.
Где-то в .htaccess есть правило mod_rewrite примерно такое RewriteRule (.*) index.php?q=$1 [L]
Ну вот при совместной работе mod_rewrite и mod_alias получаете лишнее ?q=
Просто используйте какой-то один модуль, а не оба сразу.
RewriteRule ^news/2021/professor-bez-shtanov\.html$ https://www.crawler.pro/news/2021/produser-dlya-marketologa/professor-bez-shtanov.html  [R=301,L]

Ставить выше остальных RewriteRule и перед проверкой не забыть сбросить кеш браузера.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
pro100taa
@pro100taa
Используйте только это

Redirect 301 /news/2021/professor-bez-shtanov.html https://www.crawler.pro/news/2021/produser-dlya-ma...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы