我正在IIS 8
使用Windows 8.1
. 我有一个XML
文件,我需要通过(servername)/(path)访问它
(path)由其他人预定义,不包含扩展名。我尝试了删除 .xml 文件的文件名的简单解决方案,但是IIS returns HTTP Error 404.3 - Not Found
在返回错误的“物理路径”中是正确的文件路径,当我复制粘贴到运行时会打开正确的文件。
请让我知道这是否可能。
假设 (path) 是您机器上的一个物理目录,请在该目录中创建一个新的 web.config 文件,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension="." mimeType="text/xml" />
</staticContent>
</system.webServer>
</configuration>
您告诉 IIS,仅对于此目录,任何没有以其他方式定义的扩展名(在 MIME 类型中)的文件都应被视为 xml 文件。同一路径中的其他文件类型应该仍然有效。
如果您安装了 Windows 功能IIS Management Scripts and Tools
,则可以使用 PowerShell 创建这样的 web.config 文件:
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site/.well-known' -filter "system.webServer/staticContent" -name "." -value @{fileExtension='.';mimeType='text/xml'}
在此示例Default Web Site
中是网站的名称,并且.well-known
是该网站下的目录。
手动更改配置有时可能会有风险。IIS 提供了一种通过 IIS 管理器更新 MIME 类型的方法,如下所示。这些快照适用于安装在 Windows 10 机器上的 IIS v10:
web.config
正如@PeterHahndorf 在他的帖子中所建议的那样,这些步骤有效地保存了对您的网站或虚拟目录(在您的网站下)的更改。