В процессе разработки сайта для туристической компании на Joomla, была поставлена задача организовать двуязычную версию и направлять пользователей со старых доменов в соответствующую языковую версию на новом домене. Воспользовавшись приятным нововведением Joomla 1.7, позволяющим связывать пункты меню разных языков друг с другом для более эффективной организации многоязычности (в Joomla 1.6 можно было попасть только на стартовую страницу др.языковой версии), удалось организовать полноценную многоязычность сайта. К домену нового сайта yourdomain.travel в зависимости от выбранного языка добавлялся префикс /ru/ или /en/. Однако в наличии был старый домен yourdomain.ru и yourdomain.com, откуда необходимо направлять пользователей на новый сайт в зависимости от языка браузера. То есть, русскоговорящего посетителя, у которого в настройках браузера выставлен русский язык, нужно направлять на ruscovery.travel/ru/, а всех остальных пользователей, имеющих иной язык в браузере, направлять в англоязычную версию сайта ruscovery.travel/en/.
Но как это сделать? Ведь в настройках Joomla 1.7 нет возможности имитации языковой версии в каждый домен. Быстрое и простое решение - воспользоваться волшебными настройками .htaccess, прописав следующее правило:
RewriteEngine on RewriteCond %{REQUEST_URI} ^/$ [NC] RewriteCond %{HTTP:Accept-Language} (ru) [NC] RewriteRule .* http://yourdomain.travel/ru [R=302,L] RewriteCond %{REQUEST_URI} ^/$ [NC] RewriteRule .* http://yourdomain.travel/en [R=302,L]
То есть, делаем проверку - если язык ru, направляем на домен http://yourdomain.travel/ru, если иной другой, то пользователь отправляется на http://yourdomain.travel/en. Вот такая вот арифметика, господа.
Выражается благодарность reg-ad-site и era за данное решение.