在CentOS上配置Apache2的防盗链(Hotlink Protection)可以通过多种方法实现,其中一种常见的方法是使用mod_rewrite
模块。以下是一个基本的步骤指南:
mod_rewrite
模块已启用首先,确保mod_rewrite
模块已启用。你可以通过以下命令来启用它:
sudo systemctl enable httpd
sudo systemctl start httpd
sudo yum install mod_rewrite
编辑你的Apache配置文件或.htaccess
文件来设置防盗链规则。通常,你可以在网站的根目录下创建或编辑.htaccess
文件。
.htaccess
文件在你的网站根目录下创建或编辑.htaccess
文件,并添加以下内容:
RewriteEngine On
# 允许的引用站点列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
# 阻止所有其他引用站点的请求
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
在这个例子中:
RewriteEngine On
启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
检查请求的引用站点是否不是你的域名(忽略大小写)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
阻止所有其他引用站点的请求,并返回403 Forbidden状态码。如果你更喜欢直接编辑Apache的主配置文件(例如/etc/httpd/conf/httpd.conf
或/etc/httpd/conf.d/yourdomain.conf
),可以添加以下内容:
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html
<Directory /var/www/html>
RewriteEngine On
# 允许的引用站点列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
# 阻止所有其他引用站点的请求
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
</Directory>
</VirtualHost>
保存文件后,重启Apache服务以应用更改:
sudo systemctl restart httpd
尝试从不同的站点访问你的图片资源,确保防盗链规则生效。如果一切配置正确,非授权站点的请求应该会被阻止并返回403状态码。
通过以上步骤,你可以在CentOS上配置Apache2的防盗链功能,保护你的图片资源不被其他站点非法引用。