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

CodeIgniter 3.x集成Twilio传真Webhook报错:相对URL路径需以'/'开头

解决Twilio Webhook报错:Host-relative URL path must start with a '/'

这个报错的核心原因是Twilio判定你输入的Webhook路径属于主机相对路径,但格式不符合它的要求——相对路径必须以/开头。结合你的场景,我们可以从以下几个方向排查解决:

1. 修正Twilio Webhook的输入格式

你提到浏览器能正常访问https://pakistanourhome.org/fax/fax/sent,但Twilio报错,大概率是配置时没有输入完整的绝对URL,而是只填了相对路径(比如fax/fax/sent)。

  • 最稳妥的做法:直接填入完整的绝对URL https://pakistanourhome.org/fax/fax/sent,确保包含https://开头的完整域名和路径。
  • 如果确实想用相对路径(不推荐外部服务使用),需要改成/fax/fax/sent(必须以/开头),但这种方式仅适用于Twilio能自动关联到你的主机域名的场景,自己的外部服务还是用绝对URL更可靠。

2. 排查输入时的格式小错误

有时候不经意的细节会导致Twilio误判路径:

  • 检查URL开头是否有多余空格,比如 https://...(前面带空格)
  • 确认路径拼写完全正确,比如fax/fax/sent是否和CodeIgniter的路由规则完全匹配(虽然浏览器能访问,但再核对一遍更稳妥)

3. 确保CodeIgniter端兼容Twilio请求(额外验证)

虽然当前报错是Twilio配置层面的,但为了后续接收传真正常,还要避免CodeIgniter拦截Twilio的请求:

  • 关闭对应路由的CSRF保护:Twilio的Webhook请求是POST,但不会携带CodeIgniter的CSRF Token,需要在config/config.php中把fax/fax/sent加入$config['csrf_exclude_uris']数组,示例代码:
    $config['csrf_exclude_uris'] = array('fax/fax/sent');
    
  • 确认路由映射正确:如果你的控制器是Fax、处理方法是sent,默认路由规则下fax/fax/sent是正确的,但如果自定义了路由,要确保映射关系没问题。

4. 测试配置有效性

修改完Twilio的Webhook配置后,可以用Twilio控制台号码设置里的Webhook测试工具发送模拟请求,确认是否能正常触发你的CodeIgniter接口。如果还是有问题,去Twilio的Monitor > Logs查看调试日志,里面会有更详细的请求错误信息,帮助进一步定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 10:09:27