首页 > 解决方案 > 为什么我在尝试通过 HTTPS 访问 apple-touch-icon.png 时收到错误 403,但在浏览器中进行测试时会出现 200?

问题描述

我在 IIS 8.5 的网站根目录中有一个 apple-touch-icon.png,它位于标题中:

<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">

在 web.config 中,我授予对该文件的读取权限:

<add name="AppleTouch" path="apple-touch-icon.png" verb="*" type="System.Web.StaticFileHandler" resourceType="File" requireAccess="Read" preCondition="integratedMode" />

当我在所有浏览器中测试此图标时,图标会显示,但当我尝试在 iPad 上添加书签时,我会收到没有子状态的 403 错误。

即使我在https://realfavicongenerator.net/favicon_checker上检查网站图标,它们也能正常工作。

UPDATE1:在 IIS 中使用“失败的请求跟踪规则”我设法获得了有关该错误的更多信息。它显示了这个警告:

MODULE_SET_RESPONSE_ERROR_STATUS 
ModuleName
IsapiFilterModule 
Notification
AUTHENTICATE_REQUEST 
HttpStatus 403 
HttpReason
Forbidden 
HttpSubStatus 0 

UPDATE2:由于对 IsapiFilterModule 进行了更多调试,我发现 .htaccess 文件存在问题。apple-touch-icon.png 被 HackRepair.com Blacklist 2018 阻止,CFNnetwork被阻止。删除此 HTTP_USER_AGENT 的 RewriteCond 不会再出现 403 错误!apple-touch-icon 现在适用于 iPhone,但不适用于 iPad。

标签: asp.netiis-8isapi-rewriteorchardcms-1.7

解决方案


据我所知,403.0表示用户无权访问该文件。我建议您可以按照以下步骤修改文件的权限。

1,右键单击png文件并单击属性。

2.点击安全并在权限选项卡中添加iusr

在此处输入图像描述

3.修改IUSR权限,允许读写。


推荐阅读