【问题标题】:MVC app at root IIS site根 IIS 站点上的 MVC 应用程序
【发布时间】:2016-02-21 22:56:58
【问题描述】:

在 IIS 7 上使用 VS 2013 和 MVC 5。使用 Microsoft 的默认脚手架构建了一个网站。我们的应用程序非常适合作为 IIS 站点下的虚拟文件夹。但转向 prod,我们希望应用位于根域。

当我们投入生产时,我们想要http://ourapp.com 而不是 devserver.com/ourapp。

当我们浏览到http://ourapp.com 时,我们得到的是 IIS7 起始页,而不是被路由到应用程序起始页。

这是我们的路由配置代码(我们不使用 Home 控制器): 公共静态无效注册路由(RouteCollection 路由) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

【问题讨论】:

    标签: asp.net-mvc-5


    【解决方案1】:

    很可能,您只是将应用文件夹和文件直接放在 wwwroot 中。从技术上讲,您可以做到这一点,但只要 index.html 文件在那里,如果您只是转到域http://ourapp.com,那将永远是命中的。只需删除该文件,就可以了。

    但是,更好的处理方法是为您的应用程序创建一个单独的目录,然后在 IIS 中创建一个指向该目录的新站点。只需确保 IIS_USR 可以访问它。在 IIS 中将域绑定到该站点,然后就可以开始了。

    如果这些都不起作用,那么您可能缺少 ASP.NET。您可以从控制面板中的程序和功能安装它。选择“更改 Windows 功能”链接,然后浏览功能选项树,直到看到它。

    【讨论】:

    • 有趣的是,我没有提到的等式的一部分似乎是让我绊倒的地方。我确实设置了第二个网站并关闭了默认设置。你的想法给了我使用localhost 进行测试的想法,它奏效了。
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    相关资源
    最近更新 更多