在 IIS 7.5 中更改目录浏览页面

在 IIS 7.5 中更改目录浏览页面

笔记:这篇文章的标签是 ASP.NET,但实际上这只是我可以用来写这篇文章的语言(系列)之一。我真的需要有关配置 IIS (7.5) 的帮助。

我已经找到了很多脚本和想法来实现这一点,但我要求它不是一个“插入式”替代品,因为它必须适用于一个代码库中的任何可能的目录。我正在使用的那个:http://mvolo.com/get-nice-looking-directory-listings-for-your-iis-website-with-directorylistingmodule

以下是我尝试访问任何地方时我的服务器输出的内容(在网页配置 在主目录中):

配置

我尝试注册所有 DLL 等,但无济于事。我没有构建任何东西,所有内容都存储在 中C:\server\www\etc\aspdirlist\。这是我的应用程序池的快照:http://img444.imageshack.us/img444/8196/screenoa.png

以下是web.config仅供参考的文件:

<configuration>
  <!-- ShellIconHandler configuration section declaration -->
  <configSections>
    <section name="iconHandler" type="Mvolo.ShellIcons.Web.ShellIconHandlerConfigurationSection" />
    <section name="directoryListing" type="Mvolo.DirectoryListing.DirectoryListingModuleConfigurationSection" />
  </configSections>

  <system.webServer>
    <modules>
      <remove name="DirectoryListingModule" />
      <add name="DirectoryListingModule" type="Mvolo.DirectoryListing.DirectoryListingModule" />
    </modules>

    <handlers>
      <remove name="StaticFile" />
      <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule" resourceType="Either" requireAccess="Read" />
      <add name="iconhandler" path="geticon.axd" verb="GET" type="Mvolo.ShellIcons.Web.ShellIconHandler" />
    </handlers>

    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>

  <system.web>
    <httpHandlers>
      <add path="geticon.axd" verb="GET" type="Mvolo.ShellIcons.Web.ShellIconHandler" />
    </httpHandlers>
    <httpModules>
      <add name="DirectoryListingModule" type="Mvolo.DirectoryListing.DirectoryListingModule" />
    </httpModules>
  </system.web>

<!--

Configuration:
enabled: whether or not the directory listing is enabled.  
  If its not, 403 Access Denied is returned
templatePage: the template page that should be used to 
  display the directory listing

-->

  <directoryListing enabled="true" templatePage="~/dirlisting.aspx" />

  <!-- 

  Icon Handler
  Retrieves the shell icon for the specified file name.

  Configuration:
    enabled: whether or not the icon handler is enabled (true by default)
    enableClientCaching: whether client caching of the icons should be allowed (true by default)
    enableServerCaching: whether the server should cache the icon bitmaps (true by default)
    alwaysUseExtension: whether the handler should always look up the icon by extension 
      and not try to use the full file name (false by default)

  -->

  <iconHandler enabled="true" 
               alwaysUseExtension="true" 
               enableClientCaching="true" 
               enableServerCaching="true" />

</configuration>

我还没有配置任何我所知道的安全措施。谢谢。

答案1

它是一个.NET 程序集,而不是 COM DLL,因此您不需要注册它。

您得到的是一个非常普通的“我无法加载 DLL”错误。加载失败的原因有很多。最有可能的原因是 Web 进程无法访问您存储 DLL 的位置。我会先仔细检查一下。我还会查看事件日志,其中可能包含一两个关键细节。

如果这没有帮助,您可以打开 FREB,这可能会帮助您查明问题。

相关内容