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();
    }
}