将.NET MVC Web应用程序部署到IIS中的子目录

时间:2012-05-29 14:46:57

标签: asp.net-mvc iis asp.net-mvc-routing

我想在包含一个站点的IIS中创建一个Web应用程序,然后有一个子目录,一个虚拟目录或另一个Web应用程序,包含一个.NET MVC应用程序,并根据需要配置路由。

由于我的MVC应用程序相当简单,我只需要一个控制器,所以我希望URLs如下:

http://mysite.com/mvcapp/

将映射到我的应用程序的Home控制器。这似乎应该足够简单实现,但实际上设置它似乎导致错误,如:

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

如果有人对这类问题有任何经验,我们将非常感谢您的指导!

3 个答案:

答案 0 :(得分:1)

听起来你没有将文件夹设置为运行正确版本的asp.net的应用程序。如何做到这一点取决于IIS的版本,是否可以访问IIS管理器等......

答案 1 :(得分:0)

检查一些细节

  • 正在运行具有正确的应用程序池配置到目标框架的站点? (v4.0猜测所以)

查看iis上的框架注册,有时需要注册(再次)

  • 键入cd C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Type

  • aspnet_regiis.exe -ir

记得以管理员身份运行cmd

答案 2 :(得分:0)

我们遇到了同样的问题。该应用程序在开发机器上运行良好。它作为开发服务器上的默认应用程序正常工作。将应用程序移动到IIS服务器上的另一个站点,我们得到403错误。我们检查了权限 - 一切都很好。

我们在_BaseLayout.cshtml中添加了以下内容:

<script>
        var SitePath = '@Url.Content("~")';
</script>

js和每个锚点href中的每个调用都有SitePath前缀。

这使代码有效。