Forums / National / Russian / Тех. поддержка / Как поменять формат ссылок с ?l=en на /en/

Виктор
#1 2020-08-06 07:29

Как поменять формат ссылок в вид (с ?l=en на /en/):

если defaultlang 'ru' : 

site.ru/....... (без ru)

если другой:

site.ru/en/......

 

 

Kopusha
#2 2020-08-06 09:36

{PHP|cot_url('market')} дает правильную языковую ссылку

Виктор
#3 2020-08-06 10:02
#45033 Kopusha:

{PHP|cot_url('market')} дает правильную языковую ссылку

{PHP|cot_url('market')} дает при переключении market?l=en или любой другой модуль, главная /?l=en

чпу настроено по аналогии с биржей, как я понимаю lang закреплен за get l (L), есть возможность сделать через .htaccess поменять ссылки вида market?l=en на /en/market или нужно искать и править на уровне кода

Kopusha
#4 2020-08-06 10:45

Я не могу понять что ты хочешь)
Да, из /?l=en сделать /en/ надо через хтакцесс и чпу.

У меня как то так - 

# Language selector
RewriteRule ^(en|ru|ua)/(.*) $2?l=$1 [QSA,NC,NE,DPI]
# Sitemap shortcut
RewriteRule ^sitemap\.xml$ index.php?r=sitemap [L]

 

Виктор
#5 2020-08-06 11:02

Все правильно ты понимаеш, пробовал и твой вариант, где то на форуме что то похожее было, не меняет (чистил кеш и тд) , вид ссылки на недефолтном языке заканчивается на ?l=en (любая ссылка),

ха, чтоб заработало, нужно в конфиге плагина i18  - Включить ЧПУ для параметра языка в ссылках: , чтоб его))

теперь по переходу по ссылке Объект не найден! чтоб его))

Додано 4 хвилини потому:

вот по таким правилом у меня наконец то заработали ссылки

# Language selector
RewriteRule ^(ru|ua|en|de|nl)/(.*) index.php?rwr=$2&l=$1 [QSA,NC,NE]

 

Додано 20 годин потому:

Теперь не работает админка, если по дефолтному языку все ок.?, если меняю на en (http://test/en/admin/) то получаю 404

если убрать с ссылки en то захожу в админку, 404 уже нет но админка на английском, ??

 


Dit bericht is bewerkt door Виктор (2020-08-07 07:49, 3 jaren ago)
prostogorod
#6 2020-08-07 08:02

Посмотри здесь https://www.cotonti.com/forums?m=posts&q=8252 возможно поможет. Мне помогло.

Виктор
#7 2020-08-07 10:49

у меня проблема (в админке) возникает в случае если к примеру

1) по дефолту указан язык $cfg['defaultlang'] = 'ru';   

2) в профиле админа users?m=profile установлен язык en

в этом случае все работает, при этом ссылка в админку ( test/admin ) и локализация en, тоесть в ссылке нет префикса языка, но админка на языке который указан в профиле, здесь все ок

3) далее когда на сайте frontend сменяю язык на ru (не в профиле (в профиле так и остается en )), то к ссылке добавляется ленг ( test/ru ) и все ссылки работают ,  но к ссылке которая ведет в аминку также добавляется префикс ru  ( test/ru/admin ) и при переходе по ней получаю 404


Dit bericht is bewerkt door Виктор (2020-08-07 10:58, 3 jaren ago)