Favicon Generator汇集了一个供网站管理员使用的软件包,以便为许多不同的设备提供图标。该页面附带一个名为site.manifest
的文件,该文件通过网页文档<head>
中的以下标记进行链接:
<link rel="manifest" href="site.webmanifest">
根据Mozilla:&#34; Web应用程序清单在JSON文本文件中提供有关应用程序(如名称,作者,图标和说明)的信息。清单的目的是将Web应用程序安装到设备的主屏幕,为用户提供更快的访问和更丰富的体验。&#34;
不幸的是,如果您使用的是Microsoft的Internet信息服务(IIS),如果您尝试访问site.webmanifest
文件,则会收到404.3错误。
确切的错误消息如下:&#34;由于扩展配置,无法提供您请求的页面。如果页面是脚本,请添加处理程序。如果要下载文件,请添加MIME地图。&#34;
如何在IIS中正确提供site.webmanifest
个文件?
答案 0 :(得分:31)
默认情况下,IIS不会在其(IIS)核心设置中提供任何没有与其关联的MIME映射的文件。
要解决此问题,您需要将.webmanifest
文件扩展名映射到相应的MIME类型。
要完成此操作,请打开IIS并按照以下步骤操作;
答案 1 :(得分:20)
对于Azure,我将此添加为web.config
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
<mimeMap fileExtension=".webmanifest" mimeType="application/manifest+json" />
</staticContent>
</system.webServer>
</configuration>
答案 2 :(得分:16)
对于使用ASP.NET Core(我使用2.1)的用户,您可以根据static files文档配置可以在应用程序Sub InputFormula()
Set srcTable = ActiveSheet.ListObjects(1)
fmtString = "=IF(MOD([@A],1)=0,SUM([B]),0)"
Range(srcTable.Name & "[C]").Formula = fmtString
End Sub
文件中提供的MIME类型:
Startup.cs
答案 3 :(得分:9)
更简单的解决方案是将清单文件重命名为site.webmanifest.json并链接为
<link rel="manifest" href="site.webmanifest.json">
IIS应该已经具有.json文件的MIME类型 如果在不容易更改IIS设置的Azure上部署,这也很有帮助。
答案 4 :(得分:1)
添加到@Ben的answer中:如果您有SPA,则应将StaticFileOptions代码放入UseSpaStaticFiles()调用中:
FileExtensionContentTypeProvider provider = new FileExtensionContentTypeProvider();
provider.Mappings[".webmanifest"] = "application/manifest+json";
app.UseSpaStaticFiles(new StaticFileOptions()
{
ContentTypeProvider = provider
});
答案 5 :(得分:0)