Компания обязана всегда показывать язык в URL-адресах наших CD-сайтов. Я провел небольшое исследование и установил для параметра LanguageEmbedding значение всегда. Кажется, это нормально работает для языков, отличных от языков по умолчанию, но не для английского, который является языком по умолчанию.

Когда я пытаюсь перейти на сайт www.abc.com, разве он не должен измениться на www.abc.com/en? Правильно ли я думаю, что это или так Sitecore будет вести себя для языка по умолчанию, когда он не будет отображать язык, если это не встроенные ссылки?

Благодарность

0
Gabbar 21 Окт 2015 в 14:22

2 ответа

Лучший ответ

OOTB - именно так работает Sitecore. Когда у вас LanguageEmbedding = "always" - все ссылки должны создаваться на встроенном языке, в том числе для en, поэтому ссылка на домашнюю страницу будет www.abc.com/en, но если вы просто посетите домен - {{X1 }} - Sitecore затем использует языковой файл cookie, сохраненный с вашего последнего посещения, или язык по умолчанию.

Если вы хотите, чтобы при посещении www.abc.com пользователь был всегда , было бы лучше настроить это с помощью перенаправления IIS или перезаписи.

1
Richard Seal 21 Окт 2015 в 17:15

Когда Sitecore определяет ваш язык с помощью предпочтений браузера, файлов cookie, ярлыка URL-адреса или строки запроса, он не выполняет перенаправление на эту предпочтительную структуру URL-адреса с ярлыком языка.

Вы можете либо создать модуль перенаправления (т.е. если установлен языковой контекст, создать правильный URL и перенаправить), либо выписать теги <link langref="">, что в любом случае является лучшей практикой SEO.

2
Jim Noellsch 21 Окт 2015 в 13:03