You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

图标存在于服务器但无法显示、请求返回404的技术求助

为什么图标无法显示?

可能的原因及解决方法

1. Rewrite规则正则存在拼写错误

你的规则中针对apple-touch-icon的部分写的是-precompressed.png,但常见的标准命名是-precomposed.png。如果你的图标文件名是apple-touch-icon-precomposed.png,这个正则就无法匹配,请求会被后续规则转发到index.php,最终返回404。

修改正则中的这部分,把-precompressed.png改成-precomposed.png:

RewriteRule ^(favicon.ico|browserconfig.xml|site.webmanifest|safari-pinned-tab.svg|(android-chrome|favicon|mstile)-[0-9]+x[0-9]+.png|apple-touch-icon(-precomposed.png|-[0-9]+x[0-9]+.png|.png))$ /icons/$1 [L]

2. 重写后的文件路径不正确

确认你的图标文件确实存放在服务器根目录下的/icons/文件夹中。如果你的网站部署在子目录(比如/my-site/),绝对路径/icons/$1会指向服务器根目录的icons文件夹,而非网站子目录下的icons,这时候需要把路径改成相对路径:

RewriteRule ^(favicon.ico|browserconfig.xml|site.webmanifest|safari-pinned-tab.svg|(android-chrome|favicon|mstile)-[0-9]+x[0-9]+.png|apple-touch-icon(-precomposed.png|-[0-9]+x[0-9]+.png|.png))$ icons/$1 [L]

3. 服务器未启用.htaccess或Rewrite模块

  • 检查Apache服务器是否开启了mod_rewrite模块,可通过执行a2enmod rewrite命令启用。
  • 确保网站根目录的配置中设置了AllowOverride All,允许.htaccess文件生效。

4. 图标文件权限问题

确认图标文件及icons文件夹的权限设置正确,服务器进程(如www-data)需拥有读取权限。一般建议文件权限设为644,文件夹权限设为755。

内容的提问来源于stack exchange,提问作者Andrii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:30:57