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

如何通过.htaccess将PDF链接重定向至其他域名的同名PDF文件?

解决PDF文件的.htaccess重定向问题

看起来你在配置PDF重定向时踩了两个常见的.htaccess规则误区,我来帮你梳理问题并给出可行的解决方案:

先分析你之前规则失效的原因

  • 第一个规则的错误:RewriteRule http://html-website.com/F2F_Strategic_Plan.pdf ... 写法不对。RewriteRule的第一个参数(匹配模式)只能匹配请求的路径部分(去掉域名、协议和RewriteBase前缀),不能写完整的URL,所以这个规则根本不会触发。
  • 第二个规则的问题:RewriteRule ^F2F_Strategic_Plan\.pdf$ ... 本身的匹配模式是对的,但你的现有.htaccess里,所有针对cafarmtofork.com的重定向都套在了RewriteCond %{HTTP_HOST}的条件块下,而这个PDF规则可能没被包含在同一个条件范围内,导致请求来自目标域名时不会触发这条规则。

修正后的完整.htaccess配置

把PDF重定向规则整合到针对目标域名的条件块中,确保它和其他规则一样只对cafarmtofork.com生效:

<IfModule mod_rewrite.c>
    # Redirect non WordPress pages to corresponding post
    RewriteEngine On
    RewriteBase /

    # 匹配cafarmtofork.com(带www或不带)的请求
    RewriteCond %{HTTP_HOST} ^(www\.)?cafarmtofork\.com$ [NC]
    
    # 根目录重定向到新站点
    RewriteRule ^$ https://theappliancejudge.co.uk [R=301,L]
    
    # 营养计划页面重定向
    RewriteRule ^CA_NutritionIncentiveProgram\.htm$ https://theappliancejudge.co.uk/ca_nutritionincentiveprogram [R=301,L,NC]
    
    # PDF文件临时重定向(测试通过后可改为R=301永久重定向)
    RewriteRule ^F2F_Strategic_Plan\.pdf$ https://wordpress-website.com/wp-content/uploads/2020/12/F2F_Strategic_Plan.pdf [R=302,L,NC]
</IfModule>

关键修改说明

  1. 统一主机条件:把所有针对cafarmtofork.com的规则放在同一个RewriteCond块下,这样每条RewriteRule都会继承这个条件,确保只有来自该域名的请求才会触发重定向。
  2. 正确的匹配模式:^F2F_Strategic_Plan\.pdf$精准匹配根目录下的该PDF文件(配合RewriteBase /),\.转义了点号(正则中点号是通配符,必须转义),NC标记忽略大小写,避免因URL大小写问题失效。
  3. 规则顺序:保持规则的逻辑顺序,PDF规则放在其他页面重定向之后不影响,但确保在L标记的规则之前(不过这里每个规则都有L,所以顺序不冲突)。

测试建议

  • 先清除浏览器缓存(或者用隐私窗口访问),避免旧缓存影响测试结果。
  • 可以用命令行工具验证,比如执行:
    curl -I http://cafarmtofork.com/F2F_Strategic_Plan.pdf
    
    查看返回的响应头中是否包含Location: https://wordpress-website.com/wp-content/uploads/2020/12/F2F_Strategic_Plan.pdf,以及状态码是302(临时重定向)。如果测试正常,再把R=302改成R=301永久重定向。

内容的提问来源于stack exchange,提问作者Francis Alvin Tan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:15:07