2009-04-18 59 views

回答

1

在IIS中将默认文档配置为列表顶部的index.html?

或者你可以一个IgnoreRoute添加到您的Global.asax

 
public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.RouteExistingFiles = true; 
    routes.IgnoreRoute("{file}.html"); 
    ... 
+0

您可能需要同时执行这两个操作。 – 2009-04-18 23:31:04

0

您可以更改默认控制器操作,方法是在项目的Global.asax.cs文件中添加或更改路线

在模板,下面是包括:

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = null }); 

如果你想指向默认情况下,不同的控制器动作,只是改变了值在匿名类型上的代码的第四线之上。

1

我发现IIS 6下,至少是默认原稿捡拾与当你使用通配符包罗万象路由大多数请求到MVC干扰。

我(只是在我的情况的根路径)的解决方案如下: (Global.asax中)

如果(Request的== “” || Request的== “/” ) { Response.Redirect(Request.Path +“index.htm”,true); return; }

这个挑起请求并将其重定向到正确的位置。使用Context.RewritePath重写路径(Request.Path +“index.htm”);而不是重定向也似乎工作。 进一步的修改可能是查看路径的最后一个字符是否为'/',如果是,检查相应的文件(thatpath/index.htm)是否存在,如果是,则重定向...这将有效地允许MVS在提供逻辑的同时继续工作,所以任何存在的文件夹都有这样的默认文档。

0

我加

 routes.IgnoreRoute(""); 

我的路由配置。这会忽略根文件夹,并且如果您的根目录中有index.html文件,它将被拾取。