症状
当您从 IIS 6.0 Web 服务器中请求文件时,而该文件的扩展名不是 Web 服务器上已定义的 MIME 类型,您将看到以下错误消息:
HTTP 错误 404 - 找不到文件或目录。
原因
IIS 早期版本包含通配符 MIME 映射,允许 IIS 处理任何文件而无需考虑扩展名。IIS 6.0 不包含该通配符 MIME 映射,不能处理在 IIS 元数据库中的 MimeMap 节点以外定义的任何类型的扩展名。
解决方案
警告:如果不正确地编辑元数据库,可能会导致严重问题,您可能需要重新安装使用元数据库的所有产品。Microsoft 不能保证能够解决由于您错误地编辑元数据库而导致的问题。编辑元数据库需要您自担风险。
注意:每次编辑元数据库前都要进行备份。
要为特定扩展名定义 MIME 类型,请按照下列步骤操作:
1.
打开 IIS Microsoft 管理控制台 (MMC),右键单击本地计算机名称,然后单击“属性”。
2.
单击“MIME 类型”。
3.
单击“新建”。
4.
在“扩展名”框中,键入所需的文件扩展名(例如,.pdb)。
5.
在“MIME 类型”框中,键入 application/octet-stream。
6.
应用新设置。请注意,您必须重新启动“万维网发布服务”或等待工作进程循环以使更改生效。在此示例中,IIS 现在可以处理带有 .pdb 扩展名的文件。
如果希望处理所有文件而不考虑文件扩展名(例如,如果您无法预知将处理的所有文件),请按照下列步骤添加通配符映射:
注意:您只能在故障排除过程中将通配符映射添加到 IIS MIME 映射中,以作为一种临时解决方案。确定缺少 MIME 类型是问题的原因后,请删除通配符映射,然后添加需要处理的 MIME 类型的特定映射。
1.
打开 IIS Microsoft 管理控制台 (MMC),右键单击本地计算机名称,然后单击“属性”。
2.
单击“MIME 类型”。
3.
单击“新建”。
4.
在“扩展名”框中,键入星号 (*)。
5.
在“MIME 类型”框中,键入 application/octet-stream。
6.
应用新设置。请注意,您必须重新启动“万维网发布服务”或等待工作进程循环以使更改生效。
注意:除了在 IIS 全局层进行上述更改外,还可以在元数据库的较低层添加必要的 MIME 类型。此时,您可以指定允许处理具有特定文件扩展名的站点或目录,而不是全局性允许所有站点处理该扩展名。