IIS7 下的日志记录似乎已经发生了变化,因为对具有默认文档的父目录的访问现在的记录方式与 IIS6 不同。
这尿道干字段似乎忽略了默认文档模块中定义的任何文档。据 Microsoft 称,这是设计使然。
- 在下面互联网信息服务,如果你访问“example.com”,日志将显示“获取/默认.htm-80“。
- 在下面微软 IIS7,如果您访问“example.com”,日志文件将显示“获取 / - 80“。
出于网络分析的目的,我们需要 IIS7 来记录对父目录的访问,并使用默认文档来记录它,就像上面的 IIS6 一样。
如果不使用 URL 重写,我们如何做到这一点?
答案1
理想情况下,最好的选择是使用 IIS URL Rewrite 模块。如下所示:
<rule name="Index Request" enabled="true" stopProcessing="true">
<match url="^$" />
<action type="Redirect" url="http://domain.com/default.htm" logRewrittenUrl="true" />
</rule>
另一个可能的解决方案(我知道,这似乎有点 hack),是创建一个不同的默认文档页面(例如 index.htm),然后在该页面的内容中添加一个元刷新标记,以将请求发送到 default.htm
<meta http-equiv="refresh" content="0;url=/default.htm">
除了这些选项之外,您可能还需要编写一些代码来执行重定向。