在IIS7上托管的MVC2网站显示的目录列表不是主页/索引

时间:2014-01-18 12:04:15

标签: asp.net-mvc web-hosting iis-7

我正在尝试将一个MVC2网站托管给IIS。 我遵循的步骤:

  1. 在IIS中创建网站(定义目录定义的物理路径和应用程序池)
  2. 从visual studio发布到物理路径的代码。
  3. 但是当我试图浏览我的网站时,它给了我错误

      

    HTTP错误403.14 - 禁止将Web服务器配置为不列出   这个目录的内容。

    因此,我启用了目录浏览功能,现在它只显示目录列表。 我试过了什么?

    1. 为aspnet_isapi.dll
    2. 添加了通配符脚本映射
    3. 启用HTTP重定向 以及我在一些与这个问题相关的答案中找到的其他一些事情,但对我没什么用。
    4. 我的路由配置

         public class MvcApplication : System.Web.HttpApplication
      {
          public static void RegisterRoutes(RouteCollection routes)
          {
              routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
      
              routes.MapRoute(
                  "Default", // Route name
                  "{controller}/{action}/{id}", // URL with parameters
                  new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
                  );
      
      
          }
      
          protected void Application_Start()
          {
              AreaRegistration.RegisterAllAreas();
      
              RegisterRoutes(RouteTable.Routes);
          }
      }
      

2 个答案:

答案 0 :(得分:4)

您可以查看以下内容:

  1. 如果您的应用程序使用的是ASP.NET 4,请确保在IIS中注册。以下命令应使用aspnet_regiis.exe工具注册它:c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis - ir(如果需要,使用适当版本的框架调整路径)。
  2. 确保为网站配置的应用程序池使用集成管道模式。

答案 1 :(得分:0)

你找到了解决方案吗? 几个小时我一直面临同样的问题。这是我的奇怪故事。

我正在配置一个新的win srv 2008 R2,其中IIS通过角色(7.5 ....)安装,并在我的开发环境的IIS中添加了相同的组件。 我认为我的系统有.net fw 4.0,因为我已经能够创建asp.net 4.0应用程序池,可能是因为我已经安装了4.5。我还通过aspnet_regiis.exe -lv在IIS上检查了asp.net安装的版本,我的ASP.NET v.4.0 ....在32位和64位版本中都神奇地存在。

但是...

我注意到默认网站结构有些奇怪:我只有aspnet_client \ system_web \ 2_0_50707文件夹。所以4.0 ....文件夹丢失了。

我的解决方案。 我从服务器上卸载了.net 4.5,然后安装了从Microsoft下载软件包的v.4.0。然后我在其文件夹(%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319)中使用aspnet_regiis -i注册了我的aspnet 4.0版本。

重新安装我的mvc3 / razor网络应用程序后,即使没有在服务器上安装mvc3组件,一切正常。

士气,请确保您选择的fw版本确实安装在系统中并在iis(aspnet)中配置。

希望这有帮助。