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

.htaccess根据查询字符串重定向失效问题求助

.htaccess 规则排查与修复方案

常见失效原因

  • 未正确匹配level=image查询参数,匹配逻辑有误
  • 未准确验证请求来源,导致内部请求也被错误拦截
  • 规则顺序错误,被其他.htaccess规则覆盖
  • 服务器未启用mod_rewrite模块

正确规则代码

# 开启URL重写引擎
RewriteEngine On

# 拦截外部来源且包含level=image的请求
# 替换your-domain.com为你的归档库实际域名
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?your-domain\.com [NC]
# 匹配查询字符串中的level=image参数(任意位置)
RewriteCond %{QUERY_STRING} (^|&)level=image(&|$) [NC]
# 跳转至指定空白页面,302为临时跳转,测试后可改为301永久跳转
RewriteRule ^a\.php$ https://a.co.uk/blank.htm [R=302,L]

规则说明

  • RewriteEngine On:必须放在最顶部,开启URL重写功能
  • RewriteCond %{HTTP_REFERER} ...:校验请求来源不是你的域名,NC表示忽略大小写,适配http/https、带/不带www的情况
  • RewriteCond %{QUERY_STRING} ...:精准匹配查询字符串中存在level=image的情况,不管参数在开头、中间还是结尾
  • RewriteRule ...:匹配请求的a.php文件,执行跳转;L表示这条规则执行后不再处理后续规则,避免冲突

额外注意事项

  • 务必替换规则中的your-domain.com为你归档库的实际域名
  • 若需拦截无Referer头的爬虫(部分爬虫不会发送Referer),可调整Referer条件为:
    # 拦截非本站来源+无Referer的请求
    RewriteCond %{HTTP_REFERER} !^https?://(www\.)?your-domain\.com [NC]
    RewriteCond %{HTTP_REFERER} !^$ [OR]
    RewriteCond %{HTTP_REFERER} ^$
    
  • 测试时可通过浏览器开发者工具修改Referer,模拟外部请求验证规则是否生效
  • 确认服务器已启用mod_rewrite模块,可通过phpinfo()查看或联系主机商确认

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:25:28