网站资源被盗链,确实是一件令人头疼的事情——辛辛苦苦制作的图片、视频等内容,未经授权就被他人直接调用,导致带宽和服务器资源被白白消耗。好在Apache服务器提供了一套成熟且高效的解决方案:利用mod_rewrite模块实现防盗链配置。具体如何操作?其实只需几个简单步骤,下面我们逐一拆解。

第一步,请先确认你的Apache服务器已经开启了mod_rewrite模块。打开httpd.conf配置文件,查找是否有如下一行:LoadModule rewrite_module modules/mod_rewrite.so。如果该行前面带有注释符号(#),请将其移除;如果未找到,则手动添加这行代码。完成修改后务必重启Apache,使配置生效。
第二步,在网站根目录下创建一个.htaccess文件——如果你已经存在该文件,直接编辑即可。该文件的作用是为特定目录定制访问规则,灵活性极高,是Apache防盗链的核心配置载体。
第三步,将以下核心规则代码粘贴到.htaccess文件中:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://(www.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .(jpg|jpeg|png|gif)$ - [F,L]
这段规则的核心逻辑主要完成三件事:
- 首先开启重写引擎(
RewriteEngine On) - 接着检查HTTP请求的来源信息(
HTTP_REFERER)——如果来源不是来自你自己的域名(请务必将yourdomain.com替换为你真实的域名),并且来源也不是空值(空来源通常表示用户直接输入URL访问),就会触发后续规则 - 当来源不符合上述条件,且请求的文件类型为图片(如jpg、jpeg、png、gif)时,直接返回403 Forbidden状态码,拒绝访问
第四步,保存.htaccess文件,再次重启Apache服务器,防盗链规则即可立即生效。
从实际效果来看,这套配置能够有效拦截大部分蹭流量的盗链行为。当然需要客观指出,防盗链并非绝对无解——某些高级爬虫或恶意程序可以通过伪造Referer信息绕过限制,但对于绝大多数普通盗链场景,该方案已经足够实用。如果你希望提供更严格的内容保护,还可以在此基础上结合IP白名单、Token验证等进阶手段,那便是后续深入优化的内容了。
