Цитата (killer8080 @ 21.08.2020 - 15:41) | ||||||
в приведённом коде она не будет работать, ведь у тебя браузеры с русской локалью принудительно редиректятся на русскую версию. О чём я и говорил
выбор языка должен как то фиксироваться и учитываться перед редиректом.
красота понятие относительное, особенно в коде :) Ну во первых регулярка вида '/^\w{2}/' делает тоже самое что и substr(), но ресурсов жрет больше, хоть это и мизер в данном случае. Во вторых обращение к $_SERVER['HTTP_ACCEPT_LANGUAGE'] без проверки на существование переменной, зачем в коде лишний нотис? вариант с куками $available_langs = ['ru', 'en']; // массив поддерживаемых локалей смена языка будет происходить установкой кук либо на клиенте, либо на сервере. Недостаток метода 1 смена языка невозможна при отключенных куки 2 если вдруг поисковый бот выставит заголовок с английской локалью, то не сможет проиндексировать русскую версию (это лишь предположение, я не знаю какие заголовки они шлют, но потенциально такая ситуация возможна) |