此图像已被热链接

时间:2019-02-01 15:54:04

标签: wordpress multisite hotlinking

我正在Wordpress多站点上工作。我共有4个Sites.Only主站点运行良好。在其他3个网站上,我遇到图片问题-“此图片已被热链接” enter image description here

1 个答案:

答案 0 :(得分:0)

很难基于这么多的假设给出答案,但我会尽力的。

假设:

  • 您将apache用作网络服务器

  • 您有3个不同的域,它们指向同一服务器上的同一目录

  • 您没有CDN可能会干扰

  • 您尚未安装WP插件来防止热链接

  • 您使用.htaccess文件来防止热链接

  • 您已经编辑了.htaccess,并添加了以下内容:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ http://yourdomain.com/hotlink-placeholder.jpg [NC,R,L]

之后

您必须添加需要访问图像的其他域,将RewriteCond列表视为排除列表,该列表显示“ 仅当引用者不在此列表中时才应用重写规则” ”,因此您必须将其他域添加到列表中。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
#this
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain2.com [NC]
#and this
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain3.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ http://yourdomain.com/hotlink-placeholder.jpg [NC,R,L]

如果您无法使.htaccess正常工作,请考虑切换到插件,他们将为您管理文件

如果您需要一些工具来检查.htaccess的更改,然后再提交,请查看this