Задать вопрос

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

Есть сайт. Языковые версии реализованы копированием движка в папку с названием языка(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/ должны вести в корень, но в зависимости от указанного языка, отдавать версию на указанном языке.
  • Вопрос задан
  • 4984 просмотра
Подписаться 3 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
смарти поддерживает загрузку конфигов
в конфиг можно загрузить наборы констант
выбор конфига реализовать через известный язык
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽