在IIS上打开默认文档
我已经部署了一个ASP.NET Web API,其中一个网站位于使用它的同一文件夹中 当我在浏览器上键入URL时,例如它返回404,但如果我键入,它会工作 我想知道是否有办法在WebAPI路由上配置它,为它定义一个默认路由,键入时重定向到我的 我曾尝试将其放到Web.Config上,但没有成功:在IIS上打开默认文档,iis,asp.net-web-api,Iis,Asp.net Web Api,我已经部署了一个ASP.NET Web API,其中一个网站位于使用它的同一文件夹中 当我在浏览器上键入URL时,例如它返回404,但如果我键入,它会工作 我想知道是否有办法在WebAPI路由上配置它,为它定义一个默认路由,键入时重定向到我的 我曾尝试将其放到Web.Config上,但没有成功: <defaultDocument enabled="true"> <files> <add value="/index.html" /> </f
<defaultDocument enabled="true">
<files>
<add value="/index.html" />
</files>
</defaultDocument>
此外,我将IIS设置为仅接受index.html默认文档。未成功=/
有什么想法吗?我不确定这是否是实现这一目标的最佳方式,我只是编辑了我的RouteConfig.cs,如下所示:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "index.html"
);
}
}
现在我可以得到完美的作品了
我希望任何人都有一个最好的方法来实现这一点 嗯,这是情境性的,因为你所做的一切都很好 我做过如下事情:
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();
}