在 IIS 5 文件中的 URL 中:http://acme.com/_cache/cache-www.acme.com/v3.css无法访问。
“cache-www.acme.com”下的所有文件都无法访问。我已验证这些文件确实存在。权限没有问题。我已将文件分配给“所有人”,并授予“所有人”全部权限。
我已经确定的是,在 IIS 5 中,如果文件夹路径中有一个域,那么 IIS 5 就会感到困惑......
- 这失败了:acme.com/_cache/acme.com/v3.css
- 这有效:acme.com/_cache/acme/v3.css
目录之外的其他 javascript 文件正常关闭...
有什么想法吗?
**更新/更多详细信息****
操作系统是 XP SP3,运行 IIS 5.1。我正在开发一个应用程序,目前需要将其部署到远程服务器以运行/测试/调试。我的目标是使用本地 IIS 来运行/测试/调试应用程序,而不是通过网络复制应用程序并进行远程调试。上述问题是阻止我在本地运行网站的剩余问题。
不幸的是,重命名路径不是一种选择。这是一个大型的 .Net 遗留应用程序,进行这种类型的更改是不切实际的。
下面的答案之一建议查找 UrlScan。我希望它已安装,但遗憾的是没有。
对于这个问题的任何想法或反馈都将非常感激。
答案1
重命名你的文件夹?
答案2
完全不可能,但也许 IIS 不知道它是一个文件夹,并且将其视为不允许的文件扩展名。您可以尝试添加 * 通配符扩展名映射。如果这样做有效,您应该检查这样做的安全风险
这似乎更有可能:如果安装了 URLScan,它将默认阻止路径中的点。如果 urlscan 文件夹位于 inetsrv (C:\windows\system32\inetsrv) 中,则表示已安装。
请尝试从 urlscan.ini 的 [DenyUrlSequences] 部分删除句点,同时查找 AllowDotInPath=0 并将其更改为 AllowDotInPath=1。
答案3
我已经知道这个了。
无论出于什么原因,当 IIS5 或 IIS6 中的文件夹路径中有域名,并且 IIS 的“主目录”选项卡中的执行权限配置为“脚本和可执行文件”时,域名文件夹下的文件无法访问。