在 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 中未被修改)。