Caddy 2 重定向旧路径到新路径

最近笔者将博客主题更换为 Bootstrap ,为了以后方便增添和区分繁体中文,打算将以前简体中文路径由 /zh/ 改为 /zh-cn/。而笔者使用的是 Caddy 2 服务器,正好相关教程太少,顺便写一篇教程,以记录和方便其他有类似需求的小伙伴们。

配置

废话少说,直接上码。

@zh {
  path_regexp zh ^/zh/(.*)$
}
redir @zh /zh-cn/{http.regexp.zh.1} 301

配置十分简单,只用到了 path_regexpredir 指令。

说明

  1. 首先定义了一个名为 @zh 的命名匹配器,用于 redir 指令。
  2. path_regexp 指定了正则的名称 zh,其可以通过 {http.regexp.zh.*} 来获取相关数据。
  3. ^/zh/(.*)$ 正则匹配以 /zh/ 路径的其余部分为 {http.regexp.zh.1}
  4. 最后 redir 到新的路径 /zh-cn/ 即可。