.htaccess для создания многоязычных веб-сайтов ⇐ Php
-
Гость
.htaccess для создания многоязычных веб-сайтов
Я пытаюсь создать веб-сайт с поддержкой нескольких языков..
Я хочу, чтобы example.com/category/blabla оставался основным англоязычным веб-сайтом и example.com/fr/category/blabal на французский язык set.также набор страниц..
Мне нужен код htaccess, который должен следовать, и чтобы он работал при соблюдении условий.
1. example.com/en => следует переписать на example.com «удаление (en) из URL» и установить lang=en 2. example.com/fr => следует переписать на example.com?lang=fr 3. example.com/en/contact => следует переписать и удалить **"en"** из URL-адреса, чтобы перейти example.com/?lang=en&page=contact 4. example.com/fr/contact => надо переписать и перейти example.com/?lang=fr&page=contact также у меня есть URL с тройными параметрами, например example.com/fr/category/dental
должен работать как example.com?lang=fr&page=category¶meter=dental
он должен принять последний параметр в качестве третьего параметра, чтобы я мог использовать его в php..
В PHP я могу взять $_GET['lang'] и $_GET['page'] и, если установлено, $_GET['parameter']
Я думаю, что это так просто, но я потратил на это 4 дня и до сих пор не справился..
вот что я пробую..
Параметры +FollowSymlinks +MultiViews -Indexes Переписать движок на RewriteRule ^(tr)/?(.*)$ $2?lang=$1 [L,QSA] RewriteRule ^(.*)$ $1?lang=en [L,QSA] RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteRule ^index\.(htm|html|php) https://example.com [R=301,L] RewriteRule ^(.*)/index\.(htm|html|php) https://example.com/$1 [R=301,L] # Язык и перенаправление страниц вместе RewriteRule ^$ index.php [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(fr|tr|it)/(.*)/$ index.php?lang=$1&page=$2 [L,NC] #set параметр lang, если они войдут. RewriteCond %{REQUEST_URI} ^/(fr|tr|it|en)/?(.*) RewriteRule ^.* %2?lang=%1 [QSA,L] #Удалите «en», если они попробуют example.com/en RewriteCond %{THE_REQUEST} \s/en/(\S+) [NC] RewriteRule ^ /%1? [R=301,Л,СВ] Я пробую код, которым делюсь в своем htaccess, и это не совсем то, что мне нужно.
Я пытаюсь создать веб-сайт с поддержкой нескольких языков..
Я хочу, чтобы example.com/category/blabla оставался основным англоязычным веб-сайтом и example.com/fr/category/blabal на французский язык set.также набор страниц..
Мне нужен код htaccess, который должен следовать, и чтобы он работал при соблюдении условий.
1. example.com/en => следует переписать на example.com «удаление (en) из URL» и установить lang=en 2. example.com/fr => следует переписать на example.com?lang=fr 3. example.com/en/contact => следует переписать и удалить **"en"** из URL-адреса, чтобы перейти example.com/?lang=en&page=contact 4. example.com/fr/contact => надо переписать и перейти example.com/?lang=fr&page=contact также у меня есть URL с тройными параметрами, например example.com/fr/category/dental
должен работать как example.com?lang=fr&page=category¶meter=dental
он должен принять последний параметр в качестве третьего параметра, чтобы я мог использовать его в php..
В PHP я могу взять $_GET['lang'] и $_GET['page'] и, если установлено, $_GET['parameter']
Я думаю, что это так просто, но я потратил на это 4 дня и до сих пор не справился..
вот что я пробую..
Параметры +FollowSymlinks +MultiViews -Indexes Переписать движок на RewriteRule ^(tr)/?(.*)$ $2?lang=$1 [L,QSA] RewriteRule ^(.*)$ $1?lang=en [L,QSA] RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteRule ^index\.(htm|html|php) https://example.com [R=301,L] RewriteRule ^(.*)/index\.(htm|html|php) https://example.com/$1 [R=301,L] # Язык и перенаправление страниц вместе RewriteRule ^$ index.php [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(fr|tr|it)/(.*)/$ index.php?lang=$1&page=$2 [L,NC] #set параметр lang, если они войдут. RewriteCond %{REQUEST_URI} ^/(fr|tr|it|en)/?(.*) RewriteRule ^.* %2?lang=%1 [QSA,L] #Удалите «en», если они попробуют example.com/en RewriteCond %{THE_REQUEST} \s/en/(\S+) [NC] RewriteRule ^ /%1? [R=301,Л,СВ] Я пробую код, которым делюсь в своем htaccess, и это не совсем то, что мне нужно.
Мобильная версия