到angularJS index.html的自托管web api路由

到angularJS index.html的自托管web api路由,angularjs,asp.net-web-api,self-hosting,Angularjs,Asp.net Web Api,Self Hosting,我使用OWIN自托管(我没有使用IIS)我的web api,我读了很多关于基于asp.net web api和angularJS的web应用程序的文章。在大多数示例中,api的默认路由 HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{cont

我使用OWIN自托管(我没有使用IIS)我的web api,我读了很多关于基于asp.net web api和angularJS的web应用程序的文章。在大多数示例中,api的默认路由

HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress);
config.Routes.MapHttpRoute(
  name: "DefaultApi",
  routeTemplate: "api/{controller}/{id}",
  defaults: new { id = RouteParameter.Optional }
);

但是我不明白angularJS前端的index.html文件的路由发生在哪里?我知道在调用api请求时如何获取数据,如
api/person/5
。但是,代码的哪一部分负责将任何未指定的api请求路由到angularJS的主页

使用WebAPI和到Index.html的默认路由不是一个好主意。因为调用将是
yourapp.com/api/xxxx

相反,因为您使用的是IIS(我假设您没有使用OWIN来selfhost)。在IIS中,您可以而且应该设置默认页面

这样,你的url看起来就像你的app.com,不管它是
index.html
jack.html
,还是
test.html

回答您的问题但代码的哪一部分负责将任何未指定的api请求路由到angularJS的主页?

app.config(function ($routeProvider) {

    $routeProvider.otherwise({ redirectTo: "/Main" });
});
使用
$routeprovider。否则
进行重拨。如果向angular发送不可识别的路由,则在本例中,否则配置值会将您重定向到
main


此页面将引导您完成在iis中设置默认页面的过程

I使用OWIN自托管。我将对我的问题进行编辑,以澄清这一点。很抱歉当我使用IIS时,在哪里设置默认页面?这就是为什么在这些示例中我找不到任何指向index.html的路径。不管怎样,我怎样才能用OWIN做到这一点呢?当我用OWIN实现自我托管时,我指的是不使用IIS和apache之类的东西。我没有使用IIS。我与IIS完全脱钩了,我想试试这个。