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

.htaccess防盗链对同主机其他域名无效的解决咨询

解决同主机多域名的防盗链问题

嘿,我懂你现在的困扰——主域名的防盗链已经正常生效,但同主机下的其他托管域名还能被随意盗链,对吧?咱们来调整一下Rewrite规则,让所有域名都能享受到防盗链保护。

问题根源

你原来的规则应该只针对主域名的Referer做了允许判断,其他托管域名的Referer没被纳入允许列表,导致这些域名的资源没法被防盗链规则覆盖,外部网站就能随意盗链它们的资源了。

修改后的规则示例

把所有托管在这个主机下的域名都加入到允许的Referer列表里,用[OR]条件串联起来:

RewriteEngine on
# 允许直接访问资源(空Referer的情况,比如用户直接在地址栏输入资源URL)
RewriteCond %{HTTP_REFERER} !^$
# 允许来自主域名的Referer,加[OR]表示或的关系
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?your-main-domain\.com/ [NC,OR]
# 添加第一个其他托管域名,同样加[OR]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?your-other-domain1\.com/ [NC,OR]
# 添加第二个其他托管域名,最后一条不要加[OR]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?your-other-domain2\.com/ [NC]
# 对需要保护的资源后缀生效,返回403禁止访问
RewriteRule \.(jpg|jpeg|png|gif|css|js)$ - [F,L]

关键说明

  • 替换实际域名:把示例里的your-main-domain.com、your-other-domain1.com等换成你自己的真实域名,注意域名里的.要加反斜杠转义(比如\.com)。
  • [NC]标记:开启不区分大小写模式,兼容不同大小写的域名访问(比如Your-Domain.com和your-domain.com)。
  • https?://:同时匹配HTTP和HTTPS协议的Referer,覆盖两种访问场景。
  • 资源后缀:根据你的需求调整RewriteRule里的后缀列表(比如可以加上svg、webp、mp4等)。
  • 简化正则(可选):如果你的域名有统一的后缀(比如都是*.your-brand.com),可以用正则简化规则,比如:
    RewriteCond %{HTTP_REFERER} !^https?://(www\.)?.*your-brand\.com/ [NC]
    
    但要注意别写得太宽泛,避免误允许无关域名的请求。

这样修改后,所有来自你托管域名的Referer都会被允许,外部网站的盗链请求就会被拦截并返回403禁止访问啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:18:12