MVC - 重写URL以仅显示域

时间:2012-09-19 13:18:09

标签: c# asp.net-mvc url-rewriting

我在.NET 3.5 Framework中使用MVC 1.0。我的客户希望将网址显示为 www.example.com ,而不是 www.example.com/ {controller} / {action} / {id}

  1. 托管该站点的服务器正在使用IIS 6.
  2. 我无法直接访问此服务器。
  3. 考虑到这一点,可以这样做吗?

    有人建议使用ISAPI_REWRITE。我找到了一些例子,但没有一个能够正确解释需要做什么。

    或者,如果在整个网站上无法做到这一点。它可以在主页上完成吗?

    以下是我的路线:

    public static void RegisterRoutes(RouteCollection routes)
    {
         routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
         // Catch all route
         routes.MapRoute(
         "Default", // Name
         "{lang}/{controller}" + System.Configuration.ConfigurationManager.AppSettings["extension"] + "/{action}/{*values}",  // URL - ["extension"] being .aspx for IIS 6
         new { lang = "EN", controller = "Content", action = "Index" } // Defaults);
     }
    

    提前致谢。

1 个答案:

答案 0 :(得分:1)

你应该写

public static void RegisterRoutes(RouteCollection routes)
{
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

  routes.MapRoute(
         "HomeIndex", // Name
         "",
         new { lang = "EN", controller = "Home", action = "Index" } // Defaults);


     // Catch all route
     routes.MapRoute(
     "Default", // Name
     "{lang}/{controller}" + System.Configuration.ConfigurationManager.AppSettings["extension"] + "/{action}/{*values}",  // URL - ["extension"] being .aspx for IIS 6
     new { lang = "EN", controller = "Content", action = "Index" } // Defaults);
 }