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

.htaccess 301重定向问题:带尾斜杠URL跳转后出现.xml/导致403

解决Apache .htaccess 301重定向末尾斜杠导致的403错误

你的问题出在Redirect指令的匹配逻辑上:它是前缀匹配,当请求/blog/feed/podcast/时,Apache会把匹配到的前缀/blog/feed/podcast后面的/直接追加到目标URL末尾,原本正确的show-name.xml就变成了show-name.xml/,触发了403权限错误。就算你新增了带斜杠的Redirect规则,由于前缀匹配的优先级,请求还是会被第一条规则先捕获,问题依旧。

改用mod_rewrite来实现精确匹配就能解决这个问题,以下是两种可行方案:

方案1:分别匹配带/不带斜杠的请求

RewriteEngine On

# 处理不带末尾斜杠的请求
RewriteRule ^blog/feed/podcast$ https://feeds.blubrry.com/feeds/show-name.xml [R=301,L]

# 处理带末尾斜杠的请求
RewriteRule ^blog/feed/podcast/$ https://feeds.blubrry.com/feeds/show-name.xml [R=301,L]

方案2:用正则简化规则(推荐)

通过正则表达式匹配末尾可选的斜杠,一条规则搞定两种情况:

RewriteEngine On
RewriteRule ^blog/feed/podcast/?$ https://feeds.blubrry.com/feeds/show-name.xml [R=301,L]

规则说明

  • /?:表示末尾的斜杠是可选的,同时匹配带/不带斜杠的请求
  • R=301:标记为永久重定向(301)
  • L:表示这是最后一条匹配规则,避免后续规则干扰

配置完成后,用curl测试验证:

curl -IL https://example.com/blog/feed/podcast/

此时返回的Location应该是不带末尾斜杠的https://feeds.blubrry.com/feeds/show-name.xml,目标URL就能正常加载了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:05:29