问题描述
大家好,新手一枚。我的项目里面有两个project,一个叫intranet,一个extranet,通常访问时www.mywebsite.com/UP_Extranet或者www.mywebsite.com/UP_Intranet,因此服务器上wwwroot文件夹里面有两个子文件夹分别是UP_Intranet和UP_Extranet。问题是:在本地测试的时候,localhost:44303/api/skill返回数据正确,但是到服务器上localhost/api/skill就返回404.如果手动改成localhost/UP_Intranet/api/skill就对。不知道该怎么修改路径,请大家帮忙!WebApiConfig:publicstaticclassWebApiConfig{publicstaticvoidRegister(HttpConfigurationconfig){//WebAPIconfigurationandservices//ConfigureWebAPItouseonlybearertokenauthentication.config.SuppressDefaultHostAuthentication();config.Filters.Add(newHostAuthenticationFilter(OAuthDefaults.AuthenticationType));//WebAPIroutesconfig.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name:"DefaultApi",routeTemplate:"api/{controller}/{id}",defaults:new{id=RouteParameter.Optional});}}RouteConfig:publicclassRouteConfig{publicstaticvoidRegisterRoutes(RouteCollectionroutes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name:"Default",url:"{culture}/{controller}/{action}/{id}",defaults:new{culture=CultureHelper.GetDefaultCulture(),controller="Home",action="Index",id=UrlParameter.Optional},namespaces:new[]{"RimaOne.ePortfolio.Intranet.Controllers"});}}
解决方案
解决方案二:
网页发布到iis以后后,网页都可以看到,就是网页里面数据都没有
解决方案三:
不要把两个project直接放到wwwroot,因为这样IIS会直接把他们作为默认网站的普通文件夹处理。把这两个project放到wwwroot外的任意地方,然后在IIS里你的网站上右健,新建应用程序,命名为 UP_Intranet,指向这个project的物理位置同理处理 UP_Extranet