ᕕ( ᐛ )ᕗ Jimyag's Blog

Cloudflare Pages Hugo 部署:解决静态文件中文乱码与无法预览的问题

我的博客中使用的是 Hugo 静态网站生成器,部署在 Cloudflare Pages 上,在某些博客中,我会提供一些配置文件以及脚本文件。

默认情况下,在浏览器中打开这些文件的 URL 时会自动下载,当我想要先预览这些文件,如果没有问题我再主动下载。

如何解决

在 Hugo 静态文件夹中添加一个 _headers 文件,这个文件是用来配置 Cloudflare Pages 的。

# 在静态文件夹中添加 _headers 文件
touch _headers
# _headers 文件内容
/*.sh
  Content-Type: text/plain; charset=utf-8
  X-Content-Type-Options: nosniff


/*.conf
  Content-Type: text/plain; charset=utf-8
  X-Content-Type-Options: nosniff

配置完成后,重新部署项目,就可以在浏览器中预览这些文件了。

为什么配置了 _headers 文件后,就可以在浏览器中预览这些文件?

没有配置 _headers 文件时,Cloudflare Pages 中,访问 .sh.conf 会响应为:

Content-Type: application/octet-stream
X-Content-Type-Options: nosniff

而当我们通过 _headers 显式指定:

Content-Type: text/plain; charset=utf-8
X-Content-Type-Options: nosniff

参考:

#Cloudflare Pages #Hugo