首页 > 解决方案 > 此图片已热链接

问题描述

我正在研究 wordpress 多站点。我总共有 4 个站点。只有主站点运行良好。在其他 3 个站点中,我面临图像问题 - “此图像被热链接” 在此处输入图像描述

标签: wordpressmultisitehotlinking

解决方案


基于这么多假设很难给出答案,但我会尝试。

假如说:

  • 您使用 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在提交之前检查您的更改,请查看


推荐阅读