[РЕШЕНО] Помогите с mod_rewrite в apache

Главные вкладки

Аватар пользователя muaddip muaddip 12 июля 2012 в 15:37

Добрый день!
Есть мультиязычный сайт (русский, укрианский, английский) эко-отеля. Под него зарегистрировали 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 , либо ткните носом в нормальный мануал на русском.
Заранее благодарен.

Комментарии

Аватар пользователя muaddip muaddip 23 августа 2012 в 12:16

Эту задачу давно решил. Забыл написать РЕШЕНО в заголовке. То что делать 301 редиректом это и ежу понятно. Просто в файле .htaccess нужно было написать всего 4 строчки регулярными выражениями, которых я не знал, и не было времени разбираться. Ну а так как помощи не последовало, то сел и разобрался. Если кому-то пригодится, то задачу решил следующим образом:

RewriteEngine on
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]

Не очень красиво, но работает.