RewriteCond %{HTTP_HOST} ^www.site.ru/mist-1
RewriteRule ^(.*)$ http://site.ru/mist-2/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.site.ru
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Это если тебе нужна запись, которая уже там есть.
RewriteCond (От словосочетания rewrite condition - переводится как "условие перезаписи") - это правило, которое должно выполниться, чтоб сработала замена url, которая описана в RewriteRule (дословно переводится как "правило перезаписи")
Т.е. имеем условие: если %{HTTP_HOST} начинается с www.site.ru/mist-1 (^ - начало строки), то переадресовать по правилу ниже.
А именно: любой запрос на этот адрес ^(.*)$ - означает любое количество произвольных символов с началом и концом строки. Перенаправлять на
http://site.ru/$1 где вместо $1 подставляется текущий запрос к сайту.
Нужно заметить, что условий RewriteCond может быть несколько подряд, и это будет соответствовать логическому И. Если хотим логическое ИЛИ нужно явно дописать в конце строки [OR]
Если же несколько RewriteRule будет подряд, то это соответствует последовательному применению нескольких правил. Исключения могут быть описаны так же во флагах. Например флаг [L] - означает, что это правило выполнится последним (т.е. если мы его сможем выполнить, то дальнейшие выполняться не будут, в противном случае - идем к следующему правилу).
_____________
Youtube канал WebDeveloper->Run()Сайт для душиGitter