IIS Host Asp.Net MVC应用程序在子文件夹中

时间:2019-12-08 10:01:26

标签: asp.net asp.net-mvc iis subdirectory host

我试图将我的c#asp.net MVC应用程序托管在IIS中一个drupal网站的子文件夹下。

我真正想要实现的是以下示例 当我访问该路径www.example.com时,应打开drupal网站,当我访问www.example.com/subfolder时,应打开MVC应用程序

所以我已经在drupal网站内创建了一个应用程序,如下图所示

enter image description here

结果是当我访问www.example.com/subfolder时,将调用默认控制器和默认操作,并显示MVC应用程序的默认视图。 话虽如此,它不适用于其他观点。 每当我尝试访问www.example.com/subfolder/Home/SecondAction时,它只会显示404错误。 即使我尝试通过www.example.com/subfolder/Home/Index访问默认视图也不起作用,并显示404

我尝试了控制器的路由前缀和路由属性,并且尝试了这些路由绑定,但它们都不起作用

//routes.MapRoute(
        //  name: "EDF",
        //  url: "{controller}/{action}/{id}/{edf*}",
        //  defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        //);

        //routes.MapRoute(
        //    "SubFolder", // Route name
        //    "EDF/{controller}/{action}",
        //    new { controller = "Home", action = "Index" },
        //    new[] { "EDF.EDF.Controllers" }
        //);

        //  routes.MapRoute(
        //    name: "EDF",
        //    url: "EDF/{controller}/{action}/{id}",
        //    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        //);


      //  routes.MapRoute(
      //    name: "EDF",
      //    url: "{EDF}/{controller}/{action}/{id}",
      //    defaults: new { EDF = UrlParameter.Optional, controller = "Home", action = "Index", id = UrlParameter.Optional }
      //);
  

我知道其中一些甚至都没有道理,但我绝望地   至此,并尝试了一切。

非常感谢任何想法,建议和解决方案

1 个答案:

答案 0 :(得分:1)

不需要更改您的应用程序路由。添加一个新网站并将物理路径更改为已发布文件的位置。

Add New WebSite