如何在IIS中为单个无扩展名的特定文件添加MIME类型?
解决IIS中为特定无扩展名文件设置MIME类型的问题
问题背景
服务器上的.well-known/traffic-advice路径收到大量404错误通知,原因是Chrome隐私保护预取代理尝试获取网站预取内容指令。需要添加该文件并返回application/trafficadvice+json类型的响应,但该文件无扩展名,不能给所有无扩展名文件统一设置MIME类型。
方法一:通过IIS管理器图形界面配置
- 打开IIS管理器,定位到目标网站
- 右侧功能视图找到URL重写(未安装的话先装URL重写模块)
- 点击右侧「添加规则」,选「空白规则」
- 规则配置:
- 名称:自定义traffic-advice MIME类型
- 匹配URL:选「精确匹配」,输入
.well-known/traffic-advice - 操作:选「自定义响应」
- 状态代码:填
200 - 响应内容:如果有具体规则JSON就填对应内容,空合规响应填
{} - 内容类型:输入
application/trafficadvice+json
- 保存规则即可
方法二:直接修改web.config文件
在网站根目录的web.config中添加以下配置(已有<system.webServer>节点的话,直接插入<rewrite>部分):
<configuration> <system.webServer> <rewrite> <rules> <rule name="Set traffic-advice MIME Type" stopProcessing="true"> <match url="^.well-known/traffic-advice$" /> <action type="CustomResponse" statusCode="200" statusReason="OK" statusDescription="OK" /> <serverVariables> <set name="RESPONSE_CONTENT_TYPE" value="application/trafficadvice+json" /> </serverVariables> </rule> </rules> </rewrite> <!-- 若已创建traffic-advice文件,可添加静态内容映射确保MIME类型正确 --> <staticContent> <remove fileExtension="." /> <mimeMap fileExtension="." mimeType="application/trafficadvice+json" /> </staticContent> </system.webServer> </configuration>
注:如果实际存在.well-known/traffic-advice文件,也可以在IIS内容视图里找到该文件,右键选「属性」,在「HTTP头」标签里直接设置「内容类型」为application/trafficadvice+json,这种方式更直接。
内容的提问来源于stack exchange,提问作者Onthrax
相关产品推荐
相关产品推荐

