Как-то так. И тестируйте - мало ли что вылезти может.
Если site.ru - дефолтный вариант, и запросы на него приходят в этот же каталог, то правильно будет выкинуть второй абзац, а вместо 4-го написать
RewriteCond %{HTTP_HOST} !site\.ru [NC]RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
Потёрто....
Правильно будет последовательно проверять различные условия, если не происходит редирект, то апач читает хтакцесс дальше, пока не дойдёт до конца файла. Поэтому не надо 100500 раз писать безусловное правило
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
- это правило выполнится, когда апач до него дойдёт, не сделав других редиректов.
Да попробуйте покомбинировать то, что выше, с директивами типа
RewriteCond %{HTTP_HOST} ^ДОМЕН1$ [NC]
RewriteRule ^news/([0-9]+)/([^/]+)$ http://site2.ru/$2/news/$1 [R=301,L]
Редирект с
http://site.ru/news/2018/science
на
http://site2.ru/science/news/2018
Это если надо пути сохранить
RewriteRule ^(.*)$ http://site2.ru/$1 [R=301,L]
Флаг [OR] - это "ИЛИ", без него необходимо выполнение ВСЕХ условий, с ним - ЛЮБОГО.
[NC] - регистронезависимость.
Это очепятка.---------- Добавлено 11.03.2018 в 22:37 ----------
RewriteCond %{REMOTE_ADDR} ^(IP1|IP2|IP3)$ [OR]RewriteCond %{REMOTE_ADDR} ^(IP4|IP5|IP6)$ [OR]RewriteCond %{REMOTE_ADDR} ^IP7$RewriteRule ^ http://site2.ru [R=301,L]
MishGU,
RewriteCond %{REMOTE_ADDR} ^Х\.Х\.Х\.Х$RewriteRule ^ http://site2.ru [R=301,L]RewriteRule ^ http://site1.ru [R=301,L]
loed, кодировки может быть съехали?