通过.htaccess实现Hotlink Protection,解决视频盗链防护失效问题
修复.htaccess视频热链防护规则
原规则失效原因
- 仅匹配
http://协议,当前网站大概率使用https://,导致合法的站内请求Referer无法匹配 - 规则后缀匹配冗余,未覆盖HTTPS场景
修正后的有效规则
将以下代码替换原.htaccess中的对应规则:
RewriteEngine On # 允许空Referer(应对隐私模式或特殊请求场景,可按需移除) RewriteCond %{HTTP_REFERER} !^$ [OR] # 匹配自身域名请求,支持HTTP/HTTPS、带/不带www格式 RewriteCond %{HTTP_REFERER} !^https?://(www\.)?mywebsite.com/ [NC] # 拦截视频格式盗链请求,返回403禁止访问 RewriteRule \.(mp4|webm|ogg)$ - [F,L]
规则说明
https?://:同时适配http://和https://协议,兼容网站HTTPS部署(www\.)?:兼容带www与不带www的域名格式[NC]:不区分大小写,避免域名大小写差异导致匹配失败[F]:返回403 Forbidden状态码,直接阻止盗链请求[L]:停止执行后续Rewrite规则,提升处理效率- 若需同时防护图片、音频,可扩展后缀列表为:
\.(jpg|jpeg|png|gif|mp3|wav|mp4|webm|ogg)$
验证要点
- 确保.htaccess文件放置在网站根目录
- 服务器已启用
mod_rewrite模块 - 测试前清除浏览器缓存,避免旧Referer缓存干扰结果
- 站内相对路径(如
videos/vid1.mp4、../videos/vid1.mp4)的视频引用,会因Referer为自身域名正常加载;外部网站直接引用绝对URL的请求会被拦截
内容的提问来源于stack exchange,提问作者user23204753
相关产品推荐
相关产品推荐

