Hugo默认语言页面添加本地化Slug并生成至子目录的实现问询
在Hugo中为默认语言添加URL前缀并生成到对应子目录
当然可以实现,只需要修改Hugo的站点配置文件,添加一个关键配置项即可,完全不需要在Markdown文件中设置别名。
具体配置步骤:
找到你的Hugo站点配置文件(通常是config.toml、config.yaml或config.json),定位到语言配置区块,给默认语言添加forceLanguagePrefix = true配置项。
TOML配置示例:
[Languages] [Languages.en] title = "My Site" languageName = "English" weight = 1 # weight值最低的为默认语言 forceLanguagePrefix = true # 强制默认语言也带上URL前缀 contentDir = "content/en" # 对应语言的内容目录 [Languages.zh] title = "我的站点" languageName = "中文" weight = 2 contentDir = "content/zh"
YAML配置示例:
languages: en: title: "My Site" languageName: "English" weight: 1 forceLanguagePrefix: true contentDir: content/en zh: title: "我的站点" languageName: "中文" weight: 2 contentDir: content/zh
配置说明:
forceLanguagePrefix = true:这个配置会强制所有语言(包括默认语言)的URL都带上语言前缀,默认语言的页面会生成到public目录下对应的子文件夹(比如上面示例中的public/en),而不是直接放在根目录。- 确保你的内容文件放在对应语言的
content子目录下(比如英文内容放在content/en,中文放在content/zh),Hugo会自动关联对应语言的页面内容。 - 配置完成后,运行
hugo server预览,默认语言的URL会变成类似http://localhost:1313/en/posts/your-post/的形式,生成的静态文件也会全部落在对应语言的子目录下。
内容的提问来源于stack exchange,提问作者user171453
相关产品推荐
相关产品推荐

