MVC4 URL重写/路由配置

时间:2014-02-18 10:59:28

标签: asp.net-mvc-4 url-rewriting url-routing

我是MVC中整个路由的新手,所以我不知道该怎么做我的问题的标题。基本上,我们有Google Analytics(分析)根据当前网址计算统计信息。我们在路线中添加了一个推荐人,以便我们可以提供指向我们合作伙伴网站的链接,例如:

http://www.mysite.co.za/PartnerSite/home/index

当用户直接访问我们的网站时,即:http://www.mysite.co.za,我希望网址显示“网站”作为引荐来源。

所以实质上,

http://www.mysite.co.za

必须改为

http://www.mysite.co.za/Website/Home/Index

我的路线目前配置为:

routes.MapRoute(
    name: "Search",
    url: "{referer}/{controller}/{action}",
    defaults: new { referer = "Website", controller = "Home", action = "Index" }
);

这可以在路由中完成,还是让我的系统管理员更新IIS设置并重定向?

2 个答案:

答案 0 :(得分:1)

谢谢, 所以要关闭它,我需要发布一个解决方案。 最重要的是,这适用于IIS,使用路由似乎不可能。

答案 1 :(得分:0)

好吧,假设用户点击网址http://www.mysite.co.za,然后假设它访问Home Controller的索引视图操作。因为/ Home / Index是MVC中的第一个默认页面,所以它不是URL的一部分。 所以对于你的案例你应该写这样的代码 -

    routes.MapRoute(
          name: "Website",
          url: "/Website/Home/Index",
          defaults: new { controller = "Home", action = "Index" }
      );

请尝试一下,让我知道结果。