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

如何在Frappe中实现带参数的URL重定向?

Frappe中带查询参数的网站重定向配置方案

在Frappe框架里,通过hooks.py的website_redirects配置静态重定向很直观,比如:

website_redirects = [
    # 不带参数的基础重定向
    { "source": "/login", "target": "/entrar" },
]

但如果要处理带查询参数的URL(比如/login?redirect-to=other-page),直接用上述静态配置无法将参数传递到目标路径/entrar?redirect-to=other-page——静态重定向只会精确匹配路径部分,自动忽略后续的查询参数。

解决方法:用正则匹配保留查询参数

修改website_redirects配置,通过正则表达式捕获路径后的所有内容(包括查询参数),再在目标路径中引用捕获的内容:

website_redirects = [
    # 基础静态重定向
    { "source": "/login", "target": "/entrar" },
    # 带参数的重定向,自动保留查询参数
    { 
        "source": r"/login(.*)", 
        "target": r"/entrar\1",
        "type": 301  # 可选,指定重定向类型:301永久重定向/302临时重定向
    }
]

配置说明

  • source字段用正则表达式r"/login(.*)",匹配所有以/login开头的URL,(.*)会捕获路径之后的所有内容(包括?和后续的查询参数)
  • target字段中的\1对应正则里第一个捕获组的内容,也就是之前捕获的查询参数部分,这样就能完整保留原URL的参数并拼接到目标路径后
  • 正则字符串前的r是Python原始字符串标记,避免转义字符被错误解析

内容的提问来源于stack exchange,提问作者J0ANMM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:27:39