на данный момент использую в .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^zite111.ru
RewriteRule ^(.*)$
http://www.site111.ru/$1 [R=301]
RewriteCond %{HTTP_HOST} ^site-111.ru
RewriteRule ^(.*)$
http://www.site111.ru/$1 [R=301]
RewriteCond %{HTTP_HOST} ^s111.ru
RewriteRule ^(.*)$
http://www.site111.ru/$1 [R=301]
RewriteCond %{HTTP_HOST} ^site111.com
RewriteRule ^(.*)$
http://www.site111.ru/$1 [R=301]
RewriteCond %{HTTP_HOST} ^123.site111.ru
RewriteRule ^(.*)$
http://site111.ru/123 [R=301]
со своей задачей пока справляется.
но мне нужно прописать правильные "условия"
нужна грамотная Perl строка с проверкой условий
постараюсь описать алгоритм
я символически обозначил (на Perl языке это выглядит иначе):
%1 - строка домена 3 уровня
%2 - подкаталоги (все что следует после site111.ru/...)
1. Проверка HTTP_HOST
2. Если адрес %1.site111.ru/%2 перейти на пункт 4
3. Заменить ссылку на %1.site111.ru/%2
4. Если %1=""(пустой) или %1="www" перейти пункт 6
5. Заменить ссылку на site111.ru/%1
6. конец :)
В перл можно сделать выражение одной строкой (если не ошибаюсь)
ЗАДАЧКА ДЛЯ ПРОФЕССИОНАЛОВ!