You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Caddy 2 路由添加URI前缀的配置需求(与uri strip_prefix反向)

Caddy 2 路由添加URI前缀的配置需求(与uri strip_prefix反向)

嗨,我来帮你搞定这个需求!你要的正好是和uri strip_prefix完全反向的操作——给所有请求的URL统一加上/foo前缀对吧?

在Caddy 2里,用uri指令的add_prefix动作就能轻松实现,直接给你实用的配置示例:

基础配置(无条件添加前缀)

your-domain.com {
    # 给所有请求的URI添加/foo前缀
    uri add_prefix /foo
    # 这里补上你的实际业务配置,比如反向代理到后端服务
    reverse_proxy http://your-backend-server
    # 或者是静态文件服务的话就写 file_server
}

这个配置的效果完全符合你的预期:

  • 用户访问your-domain.com → 实际处理的URL是your-domain.com/foo
  • 用户访问your-domain.com/a → 实际处理的URL是your-domain.com/foo/a

进阶配置(避免重复添加前缀)

如果担心用户直接访问带/foo前缀的URL时会被重复添加(比如your-domain.com/foo/b变成your-domain.com/foo/foo/b),可以加个条件判断,只给没有/foo前缀的请求添加:

your-domain.com {
    # 定义一个匹配规则:URI不以/foo开头的请求
    @noFooPrefix {
        not path /foo*
    }
    # 只对符合规则的请求添加前缀
    uri @noFooPrefix add_prefix /foo
    # 后续业务配置...
    reverse_proxy http://your-backend-server
}

这样就完美覆盖所有场景啦,你可以根据自己的实际需求选基础版或者进阶版配置~

备注:内容来源于stack exchange,提问作者tris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:04:35