@ESSES1868

Проблема c Redirect 301. Почему некорректно срабатывает запись?

Друзья! Помогите разобраться!

В .htaccess есть следующие, корректно работающие, записи:

Redirect 301 /xxx/yyy/1 https://zzz.ru
Redirect 301 /xxx/yyy/2 https://zzz.ru
Redirect 301 /xxx/yyy/3 https://zzz.ru


Но если добавить /xxx/yyy/ https://www.zzz.ru, то все редиректы списка перенаправляют не на https://zzz.ru, а на https://zzz.ru/1, https://zzz.ru/2, https://zzz.ru/3.

Почему так?
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
shambler81
@shambler81 Куратор тега htaccess
думаю все как всегда
вы просто непонимаете как работает .htaccess
1. вы используете форму записи не поддерживающую регулярку.
2. htaccess читается сверху вниз, соответствено в начале вы дожны указать частные случаи потом общие.
3. файл читается по кругу пока url не остановятся и [L] это не то что вы думате.
4. и не менее важное GET не является частью URL с точки зрения mod_rewrite и с ними работать нужно по другому.
От этого мы получаем Место в файле имеет значение
И в зависимости от ссылки можно использовать разные виды редиректов, я бы на вашем месте всегда использовал конструкциии через RewriteCond поскольку они позволяют все.
файл в студию.
А так же для исключения человеческого фактора используй генератор
https://donatstudios.com/RewriteRule_Generator
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
IvanU7n
@IvanU7n
Почему так?

потому что так работает директива Redirect — по префиксу
https://httpd.apache.org/docs/2.4/mod/mod_alias.ht...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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