配置Apache2的防盗链可以通过多种方法实现,其中一种常见的方法是使用mod_rewrite
模块。以下是一个基本的步骤指南:
mod_rewrite
模块首先,确保你的Apache2服务器已经启用了mod_rewrite
模块。你可以通过以下命令来启用它:
sudo a2enmod rewrite
然后重启Apache2服务以使更改生效:
sudo systemctl restart apache2
在你的网站根目录下找到或创建一个.htaccess
文件。在这个文件中,你可以添加以下内容来配置防盗链:
RewriteEngine On
# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC]
# 阻止访问
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
在这个例子中:
RewriteEngine On
启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com [NC]
和 RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC]
检查HTTP_REFERER头,如果请求不是来自指定的域名(例如example.com
),则执行下一步。RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
阻止对图片文件的访问,并返回403 Forbidden状态码。如果你只想对某些目录或文件应用防盗链规则,可以修改RewriteRule
:
RewriteEngine On
# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example\.com [NC]
# 阻止对特定目录的图片访问
RewriteRule ^images/.*\.(jpg|jpeg|png|gif)$ - [F]
保存.htaccess
文件并测试配置是否生效。你可以尝试从不同的域名访问受保护的资源,确保只有允许的域名可以访问。
.htaccess
文件位于正确的目录中,并且Apache2有权限读取它。通过以上步骤,你应该能够成功配置Apache2的防盗链功能。