在CentOS系统中,使用Apache服务器设置防盗链可以通过配置.htaccess
文件来实现。以下是详细的步骤:
.htaccess
文件首先,找到你想要保护的图片或文件的目录。通常,这个目录会在网站的根目录下或者某个特定的子目录中。
cd /path/to/your/directory
然后,创建一个名为 .htaccess
的文件(如果它还不存在):
touch .htaccess
或者编辑现有的 .htaccess
文件:
nano .htaccess
在 .htaccess
文件中添加以下内容来设置防盗链:
RewriteEngine On
# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
# 拒绝访问
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
解释:
RewriteEngine On
:启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查HTTP请求头中的Referer
字段,如果不是来自指定的域名(例如yourdomain.com
),则执行下一条规则。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:拒绝访问以.jpg
, .jpeg
, .png
, .gif
结尾的文件,并返回403 Forbidden状态码。如果你希望允许某些特定的域名访问你的资源,可以在RewriteCond
中添加这些域名:
RewriteEngine On
# 允许的域名列表
RewriteCond %{HTTP_REFERER} ^http://(www\.)?alloweddomain1\.com [NC]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?alloweddomain2\.com [NC]
# 拒绝访问
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
保存 .htaccess
文件并退出编辑器。
最后,测试防盗链设置是否生效。你可以尝试从一个不允许的域名访问你的图片或文件,看看是否返回了403 Forbidden状态码。
确保你的Apache服务器启用了mod_rewrite
模块。你可以通过以下命令启用它:
sudo a2enmod rewrite
sudo systemctl restart httpd
.htaccess
文件的权限设置也很重要。确保它具有适当的读写权限:
chmod 644 .htaccess
通过以上步骤,你应该能够在CentOS系统上使用Apache服务器成功设置防盗链。