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

Htaccess редиректы для мультиязычного сайта?

Коллеги, помогите, пожалуйста. Стоит задача прописать RewriteRule для многоязычного сайта при условии использования php расширения gettext.
gettext физически используется одни и те же файлы страниц - просто перевод для них подгружается автоматически из языковых файлов. Т.е. по ссылке site.com/about будет показан либо русский, либо английский, либо любой другой язык в зависимости от установок локали (которые уже можно менять хоть в зависимости от get, хоть от кук, хоть ещё как-то).
Но я хочу сделать, чтобы по язык по умолчанию открывался по ссылке
• site.com/about
а на другом языке, например, русском по ссылке
• site.com/ru/about

Собственно, вопрос в том, как сделать, чтобы ссылка
site.com/ru/about одновременно служила get-параметром для ru-языка, но при этом открывала файл из расположения site.com/about, т.к. в директории site.com/ru/ файлов нет, её просто не существует.
Думаю, это решается через htacess, но если есть просто с использованием php, тоже буду благодарен за него.
  • Вопрос задан
  • 506 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Ext7 Автор вопроса
Кажется решил самостоятельно, подсмотрев инфу с нескольких статей.
В .htaccess добавил правила:

RewriteCond %{REQUEST_URI} !^/styles/(.*)$ (исключение для папки со стилями)
RewriteCond %{REQUEST_URI} !^/img/(.*)$ (исключение для папки с картинками)
RewriteRule ^(.*)/(.*)$ /$2?l=$1 [L] (собственно, правило: страница /ru/faq подгружает инфу с /faq при этом в браузере url остается тем же)

И в header добавил
<base href="https://site.com/" />

Возможно, выявятся ошибки, но пока их не обнаружил.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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