我在IIS上部署了几个应用程序。我为每个应用程序创建了一个站点,并使用不同的端口号映射它们。最近,有人要求我使用虚拟目录,而不是使用不同的端口号来映射它们。我创建了虚拟目录并为它添加了一个路由。当我试图在本地测试应用程序时,我得到了一个403.14。在在线阅读了几个帖子之后,我对我的web.config文件做了以下更改
<modules>
<remove name="UrlRoutingModule-4.0"/>
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule,
System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
preCondition="" />
</modules>我没有得到一个有所有文件名的目录。我更新了我的路线
RouteConfig.cs file to
routes.MapRoute(
name: "Default",
url: "CollegeOfBusiness/{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);在做了这些更改后,我不再得到400.13,但是,我没有得到登录页面。我正在得到所有文件的目录。我运行了命令"aspnet_regiis /i“,然后运行了aspnet_regiis -ir,以确保它不是注册问题。到目前为止,我还没有任何运气。我正在寻找任何信息或资源,可以帮助解决这个问题。
本地系统: Windows 7 IIS 7.5 Visual Studio 2017 Asp.net MVC 4 jQuery2.3
更新07/03/2018 @9:45
我修改了路线如下所示。我不再得到目录列表了。但是,POST和GET并不是路由到适当的控制器。第一次加载页面时的url如下所示:
http://localhost/CollegeOfBusiness我在下面添加了自定义路由。它就在默认路由之上添加。。
RouteConfig.cs file to
routes.MapRoute(
name: "CollegeOfBusiness",
url: "CollegeOfBusiness/{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);然后,在底部添加默认路径。
RouteConfig.cs file to
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);当用户单击登录按钮时,post URL如下所示:
/CollegeOfBusiness/Account/Logon发布于 2018-07-03 17:31:56
最后,我终于让它开始工作了。1.我删除了以下自定义路线,因为它是不需要的。
RouteConfig.cs file to
routes.MapRoute(
name: "CollegeOfBusiness",
url: "{controller}/{action}/{id}",
defaults:
new { controller = "Account", action = "Logon", id = UrlParameter.Optional},
namespaces: new[] { "MyCollege.Controllers" }
);https://stackoverflow.com/questions/51143133
复制相似问题