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/ 即可。