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

Как сделать редирект с множеством условий htaccess?

Суть такая:

Есть 3 сайта: допустим site1, site2, site3. Site1 хочет перестать существовать и для передачи ссылочного веса с него нужно сделать редиректы. С главной страницы site1 надо редиректить на главную страницу site2, железно. А с указанных внутренних разделов (например site1/catalog/plitka/) должно редиректить на разделы каталога site3 (например на site3/catalog/plitka-uzor/). Сложность в том, что не получается сделать так, чтобы все условия сразу работали. Как выглядит htaccess сейчас:
<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

#перенаправление с site1 на site2
RewriteCond %{HTTP_HOST} ^site1\.ru
RewriteRule ^(.*)$ https://site2.ru/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site1\.ru
RewriteRule ^(.*)$ https://site2.ru/$1 [R=301,L]

 #перенаправление с конкретных урл site1 на конкретные урлы site3
RewriteCond %{REQUEST_URI} ^/catalog/krovlya/gibkaya_cherepitsa_/$
RewriteRule ^(.*)$ https://site3.ru/catalog/krovlya/gibkaya-cherepitsa/? [R=301,L]

RewriteCond %{REQUEST_URI} ^/catalog/krovlya/$
RewriteRule ^.*$ https://site3.ru/catalog/krovlya/? [R=301,L]

RewriteCond %{REQUEST_URI} ^/catalog/krovlya/profnastil/$
RewriteRule ^.*$ https://site3.ru/catalog/krovlya/profnastil/? [R=301,L]
</IfModule>


Что надо поменять или дополнить, чтобы работало как надо и не вызывало циклический редиректов?
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@dodo512
RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$
RewriteRule ^$ https://site2.ru/ [R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$
RewriteRule ^catalog/krovlya/(profnastil/)?$ https://site3.ru/$0? [R=301,L]

RewriteCond %{HTTP_HOST} ^(www\.)?site1\.ru$
RewriteRule ^catalog/krovlya/gibkaya_cherepitsa_/$ https://site3.ru/catalog/krovlya/gibkaya-cherepitsa/? [R=301,L]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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