发布作者: 王小艾
百度收录: 正在检测是否收录...
作品采用: 《 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 》许可协议授权
Cloudflare Pages 是一个强大的静态托管平台,不仅能轻松部署静态站点,还支持通过 /functions 目录集成 Workers,创建无服务器全栈应用。
同时,它支持通过根目录的特殊配置文件,如 _redirects 和 _headers,直接定义站点的重定向规则和 HTTP 响应标头。
但是如果使用了框架部署呢?
例如在部署 Cloudflare Pages 项目时选择了 框架预设,或者手动填写 构建命令 和 构建输出目录 了呢?
作者试过在这种情况下部署一个 Hexo 站点,将 _redirects 或者 _headers 文件放在项目的根目录是无法设置的。
构建命令:
npm install && npx hexo generate
构建输出:
/public
/hexo-project
├── /node_modules
├── /scaffolds
├── /source
├── /themes
├── _config.yml
├── .gitignore
├── package.json
└── _headers
如文件结构所示,这种情况将 _headers 文件放到项目根目录是不会生效的,
如果在部署时设置了目录,如构建输出目录,则您必须将单独的设置文件放到构建输出目录中,
例如 /public,这种情况下特殊配置文件才能够生效,因为 Cloudflare Pages 自动识别的所检查的根目录并不是绝对的项目根目录。
例如:
/hexo-project
├── /node_modules
├── /public <-- 生成的静态文件目录
│ ├── /assets
│ ├── /posts
│ ├── index.html
│ └── _headers <-- 在这里放置 _headers 文件
├── /scaffolds
├── /source
├── /themes
├── _config.yml
├── .gitignore
└── package.json
研究了好半天才明白必须要放在这里,即部署时设置的根目录或者输出目录。
—— 评论区 ——