站长都清楚,如果文章被转载到其它网站,甚至文章图片的链接地址都不改,直接远程链接图片,对自己网站的流量和带宽会有大量消耗,所以WordPress设置图片防盗链是非常有必要的。
本方法适用于Apache环境,需要开启mod_rewrite模块以支持htaccess规则,以下是具体的.htaccess文件里的代码:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteBase /wp-content/uploads/ RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !zhangwenbao.com [NC] RewriteCond %{HTTP_REFERER} !bing.com [NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !so.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !yahoo.com [NC] RewriteCond %{HTTP_REFERER} !sm.cn [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] RewriteRule .*\.(gif|jpg|png|rar)$ http://zhangwenbao.com/wp-content/uploads/2018/06/logo.png [L] </IfModule> # END WordPress
将以上代码保存为.htaccess文件,覆盖wordpress根目录已有的.htaccess文件即可,并将其权限设置为444只读,可以防止设置程序时被自动替换掉,还可以增加网站的安全性。
代码里的网址是白名单网址,就是允许转载显示图片的网站,大都是搜索引擎,可自行添加白名单,来自上面的网站则正常显示图片,否则直接转到一张指定的盗链提示图片。
将代码里的zhangwenbao.com改为你的域名,把http://zhangwenbao.com/wp-content/uploads/2018/06/logo.png改为你自己的盗链提示图片。
发表回复