Umbraco:检测国家来源
Umbraco: Detect country origin
我对 Umbraco 一无所知,并且有一个预先存在的 Umbraco7/.Net 项目需要能够检测用户的原籍国和重定向。我希望使用以下内容:
using System.Globalization;
string name = RegionInfo.CurrentRegion.DisplayName;
但是,虽然项目启动时显示 'Home' 视图,但我看不到 HomeController
,所以我不确定从哪里开始。
欢迎大家指点。
Umbraco 无法做到这一点。您需要查找用户的 IP 地址,然后根据位置进行重定向。使用可以使用像 https://freegeoip.net
这样的服务
我建议您采用这样的站点结构:
- 主页(只是一个空白页面。您是否重定向到此处的子页面)
- /en
- /德
- /日本
我使用路由劫持让它工作:
public class HomePageController : Umbraco.Web.Mvc.RenderMvcController
{
// GET: HomePage
public override ActionResult Index(RenderModel model)
{
//Check country and redirect
string country = RegionInfo.CurrentRegion.DisplayName;
if (country == "France")
{
Response.Redirect("http://fr.mySite.org");
}
return base.Index(model);
}
public ActionResult Index()
{
return View();
}
}
我对 Umbraco 一无所知,并且有一个预先存在的 Umbraco7/.Net 项目需要能够检测用户的原籍国和重定向。我希望使用以下内容:
using System.Globalization;
string name = RegionInfo.CurrentRegion.DisplayName;
但是,虽然项目启动时显示 'Home' 视图,但我看不到 HomeController
,所以我不确定从哪里开始。
欢迎大家指点。
Umbraco 无法做到这一点。您需要查找用户的 IP 地址,然后根据位置进行重定向。使用可以使用像 https://freegeoip.net
这样的服务我建议您采用这样的站点结构:
- 主页(只是一个空白页面。您是否重定向到此处的子页面)
- /en
- /德
- /日本
我使用路由劫持让它工作:
public class HomePageController : Umbraco.Web.Mvc.RenderMvcController
{
// GET: HomePage
public override ActionResult Index(RenderModel model)
{
//Check country and redirect
string country = RegionInfo.CurrentRegion.DisplayName;
if (country == "France")
{
Response.Redirect("http://fr.mySite.org");
}
return base.Index(model);
}
public ActionResult Index()
{
return View();
}
}