Как раз в конце класса не обязательно экранировать
|^[0-9a-zа-я-_]+$|i
Таки вот такие как ТС и распускают всякие левые слухи про роботс. Два часа назад просил составить правило, а сейчас уже все страницы в индексе и роботс не работает
Внимательно смотрите в исходнике страницы. Или обратитесь к специалистам раз "не эксперт в этом деле".
Редирект поднимите перед реврайтами, можно сразу после RewriteEngine
Да, (?</) исправьте на (?<!/)
поддерживается
#1
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
#2
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
RewriteRule ^index\.(php|html)$ http://site.ru/? [R=301,L]
#3,4
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)(?</)$ /$1/ [R=301,L]
RewriteRule ^(.+\.html)/+$ /$1 [R=301,L]
Не заменять а добавлять параметры QUERY_STRING. Но вам в этом случае это не нужно.
RewriteEngine On
RewriteRule ^slons/(.*)$ http://domen/$1 [R=301,L]
Bitaljus, перелогиньтесь пожалуйста.