IIS 6:系统找不到指定的文件

我有一个Win 2003 / IIS 6 Web服务器,拥有数千个configuration的站点。 两个站点是独立的,其余的都是大致相同的configuration。

在一个目录中有一些常见的代码,然后每个站点都有自己的经典的ASP代码,其中包括来自公共代码的文件。 这是一个效率非常低的设置,因为对站点特定代码的任何更改都需要在每个站点上单独更改。 这也是浪费磁盘空间。

无论如何,当我去访问这些网站中的任何一个(除了上述两个奇怪的网站之外),我在浏览器窗口中得到“系统找不到指定的文件”。 这发生在任何地点。

事件查看器中没有任何兴趣。 进程监视器没有显示无法打开文件。 我甚至已经对元数据库进行了grep,以便引用文件和目录,并修复了实际上缺less的几个。

我不能就这些网站的具体情况要求帮助,但我可以问的是,我究竟在哪里寻找这个问题呢? Apache有很好的错误日志logging,IIS似乎与发送无效的HTTP响应内容并没有提供有用的信息。

什么是确切的错误? 这是404吗? 而且,任何经典的ASP页面都可以工作吗? 这听起来像你有一个<!--#inclue-->指令在ASP代码的地方有一个重击path。

尝试“rest”testing。 暂时closures站点,看看错误信息是否改变。 有可能是一个不同的站点捕获绑定,而不是你打算的绑定。

另一个让我一直困扰的问题是如果我创build一个新的文本文件,重命名为default.htm,但是对于Windows默认情况下,它实际上是default.htm.txt。 确保显示已知的扩展名。

在IIS日志中,有一个状态码(在你的情况下是404),但下一个字段是子状态。 这可能是真正有用的404错误,因为有很多子状态代码不是页面未发现的错误。

Process Monitor也在正确的轨道上。 它在磁盘上寻找什么path,并确定该文件在同一path中? 进程监视器是一个很好的方式来确切地告诉磁盘上发生了什么,并会经常发现它总是会出现的稍微错误的设置。

您是否将经典ASP作为Web服务扩展启用? 要启用它,请转到IISpipe理器中的Web服务扩展列表,并将ASP Web服务扩展的状态configuration为“允许”。

另外,你有没有安装ASP作为一个Windows组件?

另一件要检查的是,您是否安装了URL扫描 ? 它阻止了asp?