新安装缺少 SVG

您好,您知道是什么原因导致我的网站丢失了所有 SVG 图标吗?有没有办法恢复它们?这是一个全新的 Docker 安装

尝试启用 force-https?使用 Ctrl + F5 刷新以清除缓存?

这绝对不是缓存问题。由于我在本地运行,因此也无法强制使用 https。

网络日志中显示了什么?

[08/Feb/2024:23:28:10 +0000] "localhost:8087" 192.168.65.1 "GET /svg-sprite/localhost:8087/svg-1-35f1b7e7d78d4b224c6ced63e8fc60a8ee1add9f.js HTTP/1.1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" "-" 404 2915 "http://localhost:8087/" 0.027 0.026 "-" "-" "-" "-" "-" "-" "-" "-"

这可能与此有关?不确定基本 URL 在该文件路径的中间有什么作用

嗯,这似乎……非常错误。我个人恐怕帮不上太多忙,希望其他人能帮上忙。

在开发安装中,您可能需要更改端口才能获取图片:

1 个赞

这是完全不同的问题。您可以看到我的安装请求的资源在 url 中已经有端口号 8087 了

1 个赞

开发安装不是我的强项。:slight_smile: 希望其他人能提供一些见解。:crossed_fingers:

1 个赞

能否请一位安装正常的人告诉我他们的 svgSpritePath 设置为什么?
我的设置为“/svg-sprite/localhost:8087/svg-1-35f1b7e7d78d4b224c6ced63e8fc60a8ee1add9f.js”,这显然是不正确的,但我不确定它来自哪里。

这可能是问题所在。它可能期望的是不带端口的域名。(我的就没有端口)

我没有使用 Docker 开发安装,所以真的不知道。

在我的例子中(Windows WSL),URL 是 http://localhost:4200,并且我使用此命令来启动 Discourse:DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u

所以我在想,也许你需要定义 DISCOURSE_HOSTNAME 或类似的变量?

是的,我正要发帖——svg 无法加载,因为它们所在的 js 文件中的 url 是 http://localhost:8087/svg-sprite/localhost/svg-
而该脚本正在尝试加载
http://localhost:8087/svg-sprite/localhost:8087/svg-
所以主机名中的端口是问题所在。
但是,当我将 DISCOURSE_HOSTNAME 更改为 localhost 时,网站根本无法加载。看来它在某些地方需要端口,但在其他地方不需要。