如何通过高级主机和路径规则设置www到非www重定向?配置保存失败求助
问题排查:www.ray.run 重定向至 ray.run 配置报错
当前配置
defaultService: $[DEFAULT_SERVICE_URL] name: matcher1 routeRules: - matchRules: - prefixMatch: / priority: 1 urlRedirect: hostRedirect: ray.run pathRedirect: $[REDIRECT_PATH] redirectResponseCode: MOVED_PERMANENTLY_DEFAULT stripQuery: False
可能的配置错误点
未限定原请求主机:当前
matchRules仅匹配路径前缀/,未指定仅拦截来自www.ray.run的请求,会导致所有进入规则的请求被无差别重定向,既不符合需求也可能触发平台校验报错。需在matchRules中添加主机匹配规则,示例:matchRules: - prefixMatch: / hostMatch: www.ray.run布尔值语法错误:YAML对布尔值大小写敏感,你配置的
stripQuery: False会被识别为字符串而非布尔值,属于语法错误,会导致配置解析失败。应改为小写格式:stripQuery: falsepathRedirect变量有效性问题:如果平台未预定义$[REDIRECT_PATH]变量,或变量取值不符合路径格式要求,会引发报错。若你的需求是重定向时保留原请求路径,可直接删除pathRedirect配置项——默认行为就是保留原路径,无需额外设置。
修正后的示例配置
defaultService: $[DEFAULT_SERVICE_URL] name: matcher1 routeRules: - matchRules: - prefixMatch: / hostMatch: www.ray.run priority: 1 urlRedirect: hostRedirect: ray.run redirectResponseCode: MOVED_PERMANENTLY_DEFAULT stripQuery: false
内容的提问来源于stack exchange,提问作者Luc Gagan
相关产品推荐
相关产品推荐

