Добрый день!
Есть мультиязычный сайт (русский, укрианский, английский) эко-отеля. Под него зарегистрировали 3 домена главный shishkinn.com и два домена для редиректа на главный shishkinn.com.ua и shishkinn.net.
Стоит первая задача все страницы с доменов .com.ua и .net направлять на домен .com . То есть shishkinn.net/some-link перенаправлялись на shishkinn.com/some-link, и shishkinn.net/en/some-link перенаправлялись на shishkinn.com/en/some-link
Вторая задача все ссылки типа shishkinn.com/some-link перенаправлялись на shishkinn.com/ru/some-link , так как дефолтный язык установлен русский, но ссылки без языкового префикса все равно продолжают жить.
Сейчас настройки следующие:
RewriteEngine on
Включил перенаправление на домен без www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
Уже два дня пытаюсь курить мануалы по mod_rewrite, но толком их не догоняю + регулярные выражения на perl не знаю.
Напишите, пожалуйста, код для файла .htaccess , либо ткните носом в нормальный мануал на русском.
Заранее благодарен.
Комментарии
Есть люди, которые разбираются в перенаправлениях?
перенаправления лучше делать редиректом 301м
можно с помощью .htaccess и с помощью .php
Эту задачу давно решил. Забыл написать РЕШЕНО в заголовке. То что делать 301 редиректом это и ежу понятно. Просто в файле .htaccess нужно было написать всего 4 строчки регулярными выражениями, которых я не знал, и не было времени разбираться. Ну а так как помощи не последовало, то сел и разобрался. Если кому-то пригодится, то задачу решил следующим образом:
RewriteCond %{HTTP_HOST} ^www\.(.+)\.com|www\.(.+)\.net|(.+)\.net|www\.(.+)\.com.ua|(.+)\.com.ua$ [NC]
RewriteRule ^ http://shishkinn.com%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI} ^/ru(.*)$ [NC]
RewriteRule ^ http://shishkinn.com%1 [L,R=301]
Не очень красиво, но работает.