HTTP错误403.14 - 在IIS8服务器上禁止。但是,在本地VS2013上工作(IISExpress)

时间:2016-08-26 09:15:26

标签: c# asp.net visual-studio-2013 visual-studio-2015 iis-8

我有mvc 4 ASP.net 4.5网络应用程序说 version1 ,它最初是使用visual studio 2013开发的.Vition1已经成功部署在IIS8上,它已经启动并且没有任何问题。

我们要求将version1更新为version2。这是在Visual Studio 2013上在本地机器上实现和测试的,其中一切正常。 这一点可能有所帮助,在实现版本2时,我们使用了vs2015一段时间并回滚到vs2013。现在,我们将版本2移动到IIS8,作为托管版本1的同一IIS8上的单独网站(未更新版本1)。

现在版本2在尝试访问时抛出以下错误: HTTP错误403.14 - 禁止访问 Web服务器配置为不列出此目录的内容。

尝试了其他博客的以下不同建议,但没有解决问题:

1添加到网络配置文件:

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

2在下面跑:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

3尝试:

<system.webServer>
    <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>
</system.webServer>

4在解压缩包时取消选中或选中“发布时预编译”选项。

5 RouteConfig.cs文件也看起来像文件

$public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

1 个答案:

答案 0 :(得分:0)

我没有找到此错误的实际修复或原因。

但转身是创建新工作区并将旧项目集复制到新工作区。最后将其发布到Web服务器并没有抛出此错误。

导出包时,我的工作区或设置可能会出现问题。