在IIS上打开默认文档

时间:2014-03-10 16:31:06

标签: iis asp.net-web-api

我已经部署了一个ASP.NET Web API,并在同一个文件夹上使用了一个网站。

当我在浏览器上输入网址时,例如http://domain.com/,它会返回404,但如果我输入http://domain.com/index.html,则会有效!

我想知道是否有办法在Web API路由上配置它,为它定义默认路由,当我输入http://domain.com/index.html时重定向到我的http://domain.com/

我已经尝试过把它放在Web上.Config没有成功:

<defaultDocument enabled="true">
  <files>
    <add value="/index.html" />
  </files>
</defaultDocument>

另外,我将我的IIS设置为仅接受index.html默认文档。没有成功= /

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我不确定这是否是达到此目的的最佳方式,我只是编辑了我的RouteConfig.cs:

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

        routes.MapRoute(
            name: "Default",
            url: "index.html"
        );
    }
}

现在我可以让http://domain.com完美无缺!

我很高兴如果有人有最好的方法来实现这一点!

答案 1 :(得分:1)

嗯,这是情境化的,因为你正在做的事情很好。

我做过类似的事情:

routes.IgnoreRoute("");

当web api的默认mvc部分被击中时,我通常仍会遇到问题,所以对我来说,我最终会这样做

public ActionResult Index()
{
        string filePath = Server.MapPath("~/contact.html");

        if (System.IO.File.Exists(filePath))
        {
            return File(filePath, "text/html");
        }

        return View();
}