在CentOS上,Apache2可以通过配置.htaccess
文件或httpd.conf
文件来实现防盗链。以下是两种方法的详细步骤:
方法一:使用.htaccess
文件
打开或创建.htaccess
文件。这个文件通常位于网站的根目录下。如果该文件不存在,请创建一个。
在.htaccess
文件中,添加以下代码:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
将yourdomain.com
替换为您自己的域名。这段代码的意思是,如果访问者试图从其他域名访问您的图片资源,将被拒绝访问。
保存并关闭.htaccess
文件。
重启Apache服务以使更改生效:
sudo systemctl restart httpd
方法二:使用httpd.conf
文件
httpd.conf
文件。这个文件通常位于/etc/httpd/conf/
目录下。使用文本编辑器打开它,例如:sudo vi /etc/httpd/conf/httpd.conf
<Directory>
部分中,找到AllowOverride
指令并将其设置为All
。这将允许.htaccess
文件覆盖配置。<Directory "/var/www/html">
AllowOverride All
</Directory>
<VirtualHost>
部分中,添加以下代码:<LocationMatch "\.(jpg|jpeg|png|gif)$">
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .* - [F,L]
</LocationMatch>
将yourdomain.com
替换为您自己的域名。
保存并关闭httpd.conf
文件。
重启Apache服务以使更改生效:
sudo systemctl restart httpd
现在,您的CentOS上的Apache2服务器已经配置了防盗链功能。请注意,防盗链并不能完全阻止盗链行为,但它可以有效地减少盗链现象。