1

我在 .NET 3.5 框架中使用 MVC 1.0。我有一个客户希望 URL 显示为www.example.com而不是www.example.com/{controller}/{action}/{id}

  1. 该站点所在的服务器正在使用 IIS 6。
  2. 我没有直接访问此服务器的权限。

考虑到这一点,这可以做到吗?

有人建议使用 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);
 }

提前致谢。

4

1 回答 1

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);
 }
于 2012-09-19T13:33:19.420 回答