WordPress使用.htaccess文件设置图片防盗链

图片防盗链有什么用?主要是防止其它网站盗用你的图片,浪费你的流量。

WordPress博客的附件在/wp-content/uploads/目录下,那就在该uploads目录下放一个名为 .htaccess 的文件,内容如下:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !ha97.com [NC]
RewriteCond %{HTTP_REFERER} !webnginx.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !bing.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /images/ha97.gif [R,NC,L]

文件设置解释:

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !ha97.com [NC]
RewriteCond %{HTTP_REFERER} !webnginx.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !bing.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]

这部分是判断是否盗链,如果以上条件都成立(即访问图片的请求,既不是直接输入网址,也不是来自zhuaxia.com、google.com、baidu.com、yahoo.com、bing.com、soso.com的话),就执行下列转向:

RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /images/ha97.gif [R,NC,L]

意思是让所有盗链 /wp-content/uploads/目录下 jpg、gif、png、bmp、swf、jpeg 文件的网页,显示的图片都用 images目录下的 ha97.gif 图片替换掉。

注意:替换显示的图片不要放在设置防盗链的/uploads/目录下。

PS:如果想增加其他的过滤站点,只需在“RewriteCond %{HTTP_REFERER} !soso.com [NC]”后面加入下面这条。不但是WordPress,其他的PHP程序也可以用这种方法来设置防盗链!

RewriteCond %{HTTP_REFERER} !域名 [NC]