如何實現解決方案,其中語言切換器不會包含會話變量或URL中的參數xyz.com/{language}
(我現在有這種方法)。如何實現subdomians的語言切換器MVC4
只是en.XYZ.com/Account/Login
或例如de.XYZ.com/SomeController/SomeAction
(子域切換語言變量 - 這是更友好的搜索引擎優化)
如何實現的呢?
如何實現解決方案,其中語言切換器不會包含會話變量或URL中的參數xyz.com/{language}
(我現在有這種方法)。如何實現subdomians的語言切換器MVC4
只是en.XYZ.com/Account/Login
或例如de.XYZ.com/SomeController/SomeAction
(子域切換語言變量 - 這是更友好的搜索引擎優化)
如何實現的呢?
你有什麼理由爲什麼使用會話變量?更常見的解決方案是在路線中包含語言代碼,即blah.com/en/info或blah.com/jp/info(英文和日文)
如果您在網站上的每一頁上都可以這樣做包含每種語言的鏈接。如果您正在編寫一個可公開訪問的網站,這也將使Google更容易爲您的所有內容建立索引。
本文解釋瞭如何在域中包含該語言,即。 en.blah.com或jp.blah.com:http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx
已更新:下面是一個在URL路由中包含語言代碼的簡單示例。
更改默認路由包括語言參數:
routes.MapRoute(
"Default",
"{language}/{controller}/{action}/{id}",
new { language = "en", controller = "Home", action = "Index", id = "" }
);
Add links for each language to your masterpage:
<li>@Html.ActionLink(
"Spanish",
ViewContext.RouteData.Values["action"].ToString(),
new { language = "es" })</li>
這些將作爲鏈接呈現給您所在的頁面 - 唯一的語言改變。