Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC-重写URL以仅显示域_C#_Asp.net Mvc_Url Rewriting - Fatal编程技术网

C# MVC-重写URL以仅显示域

C# MVC-重写URL以仅显示域,c#,asp.net-mvc,url-rewriting,C#,Asp.net Mvc,Url Rewriting,我正在.NET3.5框架中使用MVC1.0。我有一个客户希望URL显示为www.example.com,而不是www.example.com/{controller}/{action}/{id} 站点所在的服务器正在使用IIS 6 我没有直接访问此服务器的权限 考虑到这一点,这能做到吗 有人建议使用ISAPI_重写。我已经找到了一些例子,但没有一个能真正正确地解释需要做什么 或者,如果无法在整个现场进行此操作。可以在主页上完成吗 以下是我目前的路线: public static void Reg

我正在.NET3.5框架中使用MVC1.0。我有一个客户希望URL显示为www.example.com,而不是www.example.com/{controller}/{action}/{id}

  • 站点所在的服务器正在使用IIS 6
  • 我没有直接访问此服务器的权限
  • 考虑到这一点,这能做到吗

    有人建议使用ISAPI_重写。我已经找到了一些例子,但没有一个能真正正确地解释需要做什么

    或者,如果无法在整个现场进行此操作。可以在主页上完成吗

    以下是我目前的路线:

    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);
     }
    
    提前谢谢。

    你应该写信

    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);
     }
    
    你应该写

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

    谢谢萨沙。我想这会重写主页的url,对吗?谢谢。显然,客户端只希望站点的主登录页/主页除了域之外没有任何内容。这很有帮助。嗨,我已经应用了这个概念,但不起作用。我的要求是一样的:如果用户类型
    website.com/Home
    website.com/Home/Index
    ,它应该
    www.website.com
    在浏览器的地址栏中。目前显示的是
    www.website.com/Home/Index
    。如果我遗漏了什么,你能给我提个建议吗?如果你去了website.com,它会和website.com/Home/Index一样吗?谢谢萨莎。我想这会重写主页的url,对吗?谢谢。显然,客户端只希望站点的主登录页/主页除了域之外没有任何内容。这很有帮助。嗨,我已经应用了这个概念,但不起作用。我的要求是一样的:如果用户类型
    website.com/Home
    website.com/Home/Index
    ,它应该
    www.website.com
    在浏览器的地址栏中。目前显示的是
    www.website.com/Home/Index
    。如果我遗漏了什么,你能给我提个建议吗?如果你去了website.com,它会和website.com/Home/Index一样吗?