В поисках более удобных для пользователя и дружественных для поисковых систем URL, я хочу украсить свои URL: правило Apache htacces, которое достигает этого (благодаря Лоуренсу Гонсалвесу)
RewriteRule ^([a-z][a-z])/(.*) /$2?ln=$1 [L]
, что делает это возможным:
/uk/somepage
вместо /somepage?ln=uk
/de/somepage
вместо /somepage?ln=de
/ja/somepage
вместо /somepage?ln=ja
Теперь сложная часть: ранееURL-адрес был заменен обычной ссылкой, например href="?ln=de"
или href="?ln=it"
, для изменения языка текущей страницы.Но как я могу этого достичь?Таким образом, текущая страница остается прежней, но только две предшествующие строчные буквы, которые говорят браузеру, на каком языке она изменяется?
Так, как указать ссылку, чтобы изменить только /uk/contact
на /de/contact
после того, как на немецком (де) языке флаг нажал?PHP решение для переписывания URL или htaccess решения принимаются.
Я обнаружил, что $_SERVER['REQUEST_URI']
будет выводить /uk/somepage
, но я не могу написать код PHP, который может разделить компоненты, добавить новый код языка, как«де» в него, который я могу положить вручную в нормальный HREF, который идет на немецком флаге.и т.д. Спасибо за любые подсказки / ответы!