我通过Docker为Gogs项目(https://github.com/gogits/gogs)下载了二进制文件,设置了它(通过docker pull gogs/gogs
),服务器按预期工作。现在我正在尝试自定义html以与我们公司的其他工具保持一致。查看已部署的项目时,感兴趣的资产位于以下目录中:
public/img/*.png
public/css/*.css
templates/*.tmpl
当我更新css
时,更改会立即生效,当我更新tmpl
时,我需要重新启动容器(意味着在服务器启动时生成html),当我更新任何内容时public/img/
目录,然而,我似乎无法使用这些资产而且我对发生的事情一无所知,因为大多数Web服务器/框架将public/img/
视为包含其所有内容的静态目录默认公开显示。
这是我到目前为止所尝试的以及结果:
操作:将新的网站图片(my_favicon.png)复制到public/img/
并将/templates/base/head.html
更改为指向它(/img/my_favicon.png),而不是原始(/img/favicon.png),原始未触动并重新启动容器
结果:页面加载了损坏的图片图标,DOM检查员说它指向/img/my_favicon.png但没有显示图像,直接转到该URL也不显示图像。
操作:将.tmpl更改为指向原始图像(/img/favicon.png),使用新图像覆盖原始图像。我也尝试了主要的lg-gogs.png标志。
结果:页面加载了破损的图片图标,就像之前一样。
grep搜索图像名称显示只有.tmpl我修改过和config.codekit提到它(我对CodeKit一点也不熟悉,但是说明声明它只与git有关,而不是我,并保留文件,虽然它似乎描述了所有图像的名称和大小 - 但是我没有看到服务器上的任何其他内容引用此代码包文件。)
我不知道为什么对css和tmpl的更改工作正常,但图像会导致这种意外结果。有没有人知道发生了什么,为什么服务器不接受图像?