编辑

编辑

在 Windows Server 2016 中使用 IIS,无法提供扩展名为 .txt 的文件。

结果的状态代码是 403,拒绝访问。

为什么?

mime 类型.txt在服务器根目录中以 mime 类型 列出text/plain。默认网站会继承它(连同所有其他 mime 类型)。在 mime 类型方面,似乎没有进行任何覆盖。

我可以添加另一种 mime 类型,放置一个带有新(虚构)扩展名的文件并将其作为文本文件使用。

我尝试删除 MIME 类型并再次添加它(后缀名称前不使用句点)。

似乎没有其他文件类型会导致问题。只有 txt 文件,我甚至在服务器上支持 php。

编辑

在评论中,有人问我收到的是哪种子状态错误代码。日志文件显示如下行:

2017-05-08 00:54:17 172.31.14.247 GET /foobar/1.txt - 80 - 2.94.45.4 Mozilla/3.0+(compatible;+Indy+Library) - 403 1 5 64

所以答案是 403.1(禁止执行访问)。IIS 是否正在尝试执行 txt 文件?

答案1

而不是 IIS >MIME 类型,修改 IIS >处理程序映射. 不应该有任何(脚本)处理程序有关联小路 *.txt,但它应该有(或回退到“静态文件” *):

  • 路径类型:文件或文件夹
  • 模块:StaticFileModule,DefaultDocumentModule,DirectoryListingModule
  • 请求限制、动词:全部、访问:读取。

(IIS 7 文档是最新的:handlers元素在 IIS 10/8.5/8.0/7.5/7.0 中未被修改)。

相关内容