企業需要始終在我們的CD網站的URL中顯示語言。我做了一些研究,並將LanguageEmbedding設置設爲始終。這對於非默認語言似乎工作正常,但對於英語(這是默認語言)不起作用。Sitecore語言嵌入和默認語言
當我試圖去www.abc.com時,它不應該更改爲www.abc.com/en?我是否正確地考慮這個問題,或者這是Sitecore如何處理默認語言,如果它不是嵌入式鏈接,它將不會顯示該語言?
感謝
企業需要始終在我們的CD網站的URL中顯示語言。我做了一些研究,並將LanguageEmbedding設置設爲始終。這對於非默認語言似乎工作正常,但對於英語(這是默認語言)不起作用。Sitecore語言嵌入和默認語言
當我試圖去www.abc.com時,它不應該更改爲www.abc.com/en?我是否正確地考慮這個問題,或者這是Sitecore如何處理默認語言,如果它不是嵌入式鏈接,它將不會顯示該語言?
感謝
OOTB是Sitecore工作的方式。當你有LanguageEmbedding =「always」時 - 鏈接應該全部使用嵌入語言生成 - 包括en,所以主頁的鏈接將是www.abc.com/en
- 但如果你只是訪問域 - www.abc.com
- Sitecore然後使用從上次訪問時存儲的語言Cookie或默認語言。
如果你想要的行爲是,如果你訪問www.abc.com
用戶是總是這將是更好的使用IIS重定向或重寫。
當Sitecore的決定通過瀏覽器偏好,餅乾,URL蛞蝓,或查詢字符串您的語言,它會不重定向到與語言蛞蝓是首選URL結構。
您可以創建一個重定向模塊(即,如果語境設置,使正確的URL和重定向)或寫出來<link langref="">
標籤,這是一個搜索引擎優化的最佳實踐反正。
這很有道理。謝謝! – Gabbar
如果您希望瀏覽器中的離線鏈接或直接網址具有一致的行爲,那麼僅在主頁上執行重定向將不夠。如果說通過語言解析器將用戶的語言設置爲「es」(即,您是否將/ products重定向到/ en/products或/ es/products?),則僅將IIS重定向到子頁面的規則變得特別困難。 –