На сайте реализовано три локализации.
ru,
de и
en. Английский является основным. Пользователь первый раз заходит на главную страницу сайта по адресу
http://mysite.com/
, отправляя запрос
Accept-Language: fr;q=0.9
. Так как французкий не реализован, то его перенаправляет на английскую версию
http://mysite.com/en/
. На сайте есть форма поиска которая отправляет
POST запрос на URL
/search
. На сервере отсутсвует сохранение состояния(сессии и аналоги)
Пробовал реализовать через .htaccess, но не знаю как правильно реализовать генерацию URL для форм и как передавать локаль. А также как подставить локаль в URL, если пользователь перейдет по ссылке без локали
http://mysite.com/faq
RewriteEngine On
#Локаль по умолчанию
RewriteCond %{HTTP:Accept-Language} !^(ru|de) [NC]
RewriteRule ^$ /en/ [L,R=302]
RewriteCond %{HTTP:Accept-Language} ^ru [NC]
RewriteRule ^$ /ru/ [L,R=302]
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ /de/ [L,R=302]
#Перенаправлять все запросы на единую точку входа
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php