Добавить мультиязычность на существующий сайт?

Есть сайт. Языковые версии реализованы копированием движка в папку с названием языка(ru, ua, kz, etc...) Основная версия — английская, находится в корне. Делал не я.


Сейчас стала задача избавиться от такого способа, т.е. должен остаться только один движок в корне сайта. Но языковые версии должны остаться по прежним ссылкам: site.com/ru/ site.com/ua/ site.com/kz/ etc…


ЧПУ на сайте реализовано через файл .htaccess, пример:
RewriteRule ^blog/?$	index.php?module=BlogView [L,QSA]



Можно конечно просто для каждого правила прописать чтобы учитывался и язык, но это около 30 правил. Плюс при добавлении нового языка опять править все надо.


В двух словах: старые ссылки site.com/ru/ или site.com/kz/ должны вести в корень, но в зависимости от указанного языка, отдавать версию на указанном языке.
  • Вопрос задан
  • 4982 просмотра
Пригласить эксперта
Ответы на вопрос 3
@servekon
Посмотрите вот тут, может что-нибудь позаимствуете.
Ответ написан
Комментировать
SkiF_TLT
@SkiF_TLT
Раскидайте языки на поддомены:

en.site.ru, de.site.ru и т.п.

Тогда все настройки .htaccess будут работать как и ранее, а язык вы уже будете определять в правилах по %{HTTP_HOST}. Например так:

RewriteCond %{HTTP_HOST} (en|de|fr).site.ru
RewriteRule ^(.*)$ %1%/

(набросал на скорую руку, но примерно как-то так)
Ответ написан
@great_boba
смарти поддерживает загрузку конфигов
в конфиг можно загрузить наборы констант
выбор конфига реализовать через известный язык
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы