我正在Windows 8.1上使用IIS 8。我有一个XML文件,我需要通过 (服务器名)/(路径) 访问它
Windows 8.1
IIS 8
XML
IIS returns HTTP Error 404.3 - Not Found
在 “物理路径” 中,返回的错误是正确的文件路径,当我复制粘贴到“运行”时,将打开正确的文件。请让我知道这是否可能。
7gyucuyw1#
假设(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文件:
IIS Management Scripts and Tools
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是该站点下的目录。
Default Web Site
.well-known
6yt4nkrj2#
也可以在IIS 6中完成此操作/无需使用web.config,而是使用管理GUI为扩展名.添加MIME类型,如下所示:
web.config
.
例如,要提供.well-known/acme-challenge令牌,请创建一个名为.well-known的虚拟目录,并让它从物理目录获取其内容(在窗口中不能有带前导点的名称)。然后在此目录中为扩展名.添加一个text/plain MIME类型,并且您可以为当前由旧IIS提供服务的域手动获取新的letsencrypt证书。
.well-known/acme-challenge
text/plain
letsencrypt
1l5u6lss3#
手动更改配置可能容易出错。因此,Internet Information Server(IIS)控制台GUI提供了一种更简单且无错误的方法来更新MIME类型。请按照以下步骤操作:1.打开IIS1.在左侧导航窗格中展开您的网站节点。1.选择应用程序或虚拟目录。1.双击右窗格中IIS部分下的MIME类型功能:
1.单击操作窗格中的“添加..”链接。设置mime类型以支持所有不带扩展名的文件。然后单击“确定”:
在后台,这些步骤会按照PeterHahndorf's post中的建议更改应用程序的web.config文件或虚拟目录(在您的网站下)。
注意:上述步骤中显示的屏幕截图取自安装了IIS v10的Windows 10计算机。
wfveoks04#
对我来说,我只想服务一个文件,所以我所做的只是添加一个简单的重写,因为这里发布的其他方法由于某些原因而不起作用
<system.webServer> <rewrite> <rules> <rule name="apple-app-site-association" patternSyntax="ExactMatch"> <match url="apple-app-site-association" /> <action type="Rewrite" url="/apple-app-site-association.txt" /> </rule> </rules> </rewrite> </system.webServer>
4条答案
按热度按时间7gyucuyw1#
假设(path)是计算机上的物理目录,则在该目录中创建一个新的web.config文件,该文件包含以下内容:
您要告诉IIS,仅对于此目录,任何没有以其他方式定义的扩展名(MIME类型)的文件都应被视为xml文件。同一路径中的其他文件类型仍应有效。
如果您安装了Windows功能
IIS Management Scripts and Tools
,则可以使用PowerShell创建这样的web.config文件:在这个例子中,
Default Web Site
是网站的名称,而.well-known
是该站点下的目录。6yt4nkrj2#
也可以在IIS 6中完成此操作/无需使用
web.config
,而是使用管理GUI为扩展名.
添加MIME类型,如下所示:例如,要提供
.well-known/acme-challenge
令牌,请创建一个名为.well-known
的虚拟目录,并让它从物理目录获取其内容(在窗口中不能有带前导点的名称)。然后在此目录中为扩展名.
添加一个text/plain
MIME类型,并且您可以为当前由旧IIS提供服务的域手动获取新的letsencrypt
证书。1l5u6lss3#
手动更改配置可能容易出错。因此,Internet Information Server(IIS)控制台GUI提供了一种更简单且无错误的方法来更新MIME类型。请按照以下步骤操作:
1.打开IIS
1.在左侧导航窗格中展开您的网站节点。
1.选择应用程序或虚拟目录。
1.双击右窗格中IIS部分下的MIME类型功能:
1.单击操作窗格中的“添加..”链接。设置mime类型以支持所有不带扩展名的文件。然后单击“确定”:
在后台,这些步骤会按照PeterHahndorf's post中的建议更改应用程序的web.config文件或虚拟目录(在您的网站下)。
注意:上述步骤中显示的屏幕截图取自安装了IIS v10的Windows 10计算机。
wfveoks04#
对我来说,我只想服务一个文件,所以我所做的只是添加一个简单的重写,因为这里发布的其他方法由于某些原因而不起作用