页面仅显示 iis 7 中的文件

page show only the files in iis 7

我有一个 Mvc 5 应用程序,为了开发,我使用了 IIS Express,一切正常,但我在将它上传到 IIS 7 时遇到问题。仍在我的本地计算机上,我稍后会使用它到 Windows 2008。问题是当我 运行 http://localhost/Aprovacoes/ 我的页面打不开,显示消息: HTTP 错误 403.14 - 禁止访问 Web 服务器配置为不列出此目录的内容。

启用能够列出目录中的文件,并且只显示未打开我的页面的文件Index.cshtml

localhost - /

03/06/2017    12:39        <dir> Areas
03/06/2017    12:39        <dir> bin
03/06/2017    12:39        <dir> Content
26/05/2017    17:23         1078 packages.config
03/06/2017    12:39           49 PrecompiledApp.config
03/06/2017    12:39        <dir> Scripts
03/06/2017    12:39        <dir> Views
03/06/2017    15:00         7905 Web.config

项目publish所在inetpub文件夹访问权限配置,已在iis中测试

我已经对所有应用程序池进行了测试,目前集成设置为 4.0。

我的路由配置没有做任何改动,如下:

 public static class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.LowercaseUrls = true;
            routes.MapRoute("Default", "{controller}/{action}/{id}", new
            {
                controller = "Home",
                action = "Index",
                id = UrlParameter.Optional
            }).RouteHandler = new DashRouteHandler();
        }
    }

我已经尝试将标准 Index.cshtml 文档添加到 iis,但它也没有用。

当访问Home/Index时,动作会识别没有用户通过Forms Authentication登录,然后重定向到Account/Login,整个过程在IIS Express上有效。

你能帮我解决这个问题吗?

如果您通过 Visual Studio 快速检查发布您的网站,例如,

  • 取消勾选PreCompile During Publishing
  • 检查您的 global.asax 文件是否是已发布文件的一部分

,您可能想尝试以下一项或多项

  • 为 IIS 服务器上的 IIS_IUSRS 用户授予必要的权限。右键单击该网站,然后单击“编辑权限”>“安全”。将 IIS_IURS 权限授予

    • 读取和执行、列出文件夹内容和读取权限

    • 尝试将以下您添加到您的 Web.Config 文件

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