11ty分页生成的文件路径带数字序号,该如何阻止该情况发生?
11ty动态生成页面出现多余路径序号的问题解决
触发原因
该问题本质是11ty分页机制的默认规则导致:
- 当你使用
size: 1的分页模式为单条CMS数据生成独立页面时,如果没有在分页配置中明确指定permalink规则,11ty会默认在路径中追加当前分页的迭代序号,避免多页路径冲突,哪怕你是单条数据单页的场景,这个默认规则依然会生效,就会生成public/page-title/1/index.html这类带多余/1/段的路径。 - 少部分情况是你用作路径拼接的CMS字段存在重复值、空值或特殊字符,11ty检测到路径冲突风险时,也会自动追加序号做区分。
规避方法
- 首先在分页模板的前置数据(front matter)中显式定义permalink规则,完全覆盖默认的路径生成逻辑,示例配置如下:
--- pagination: data: cmsDataList # 替换为你自己的CMS数据变量名 size: 1 alias: currentItem # 替换为你自定义的单条数据别名 permalink: "public/{{ currentItem.title | slug }}/index.html" ---
配置完成后11ty会完全按照你定义的规则生成路径,不会再自动追加迭代序号。
- 如果你已经配置了自定义permalink还是出现多余序号,检查你用于路径拼接的字段值:确认没有重复值、空值,同时可以使用
slug过滤器对字段值做标准化处理,去除特殊字符避免解析异常。 - 检查你的分页模板文件名,不要包含
[page]这类11ty预留的分页占位符,这类占位符也会触发自动序号追加逻辑。
内容的提问来源于stack exchange,提问作者Steven Marks
相关产品推荐
相关产品推荐

