热链接或带宽窃取是一个常见问题。当人们链接到不同独立服务器上的文件和图像并将它们显示在他们自己的网站上时,就会发生这种情况;这使用了原始所有者的带宽,费用由他们承担。
将代码添加到您的 .htaccess 文件
通过在.htaccess 文件中输入以下行,您可以防止热链接到您的网站:
重写引擎开启
重写条件 %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)? example.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.example.com/hotlink.gif [ R,L]
在上面的示例中,将example.com更改为您的网站 URL。这会导致任何热链接图像无法加载。您可以更改最后一行以指向您喜欢的任何图像。此图像应说明您的服务器上禁用了热链接。
这是另一个例子:
重写引擎开启
RewriteCond %{HTTP_REFERER} !^http: //example.com .*$ [NC]
RewriteCond %{HTTP_REFERER} !^http:// www.example.com .*$ [NC]
RewriteRule .*.(gif|jpg|jpeg|bmp)$ http://www.example.com/stophotlinking.jpg [ R,NC]
您可以更改最后一行以指向您喜欢的任何图像。此图像应说明您的服务器上禁用了热链接。
如果您不想采用手动方法,您可以通过在面板中启用它来防止盗链。要启用,请导航到Htaccess/WebDAV页。单击您的域并继续执行启用此功能的步骤。
阻止特定域
以下代码无法加载热链接文件,但不会引发错误。因此,如果站点example.com包含指向您站点的热链接图像,它将无法在其站点上加载:
重写引擎开启
RewriteCond %{HTTP_REFERER} ^http://(www.)? 示例.com (/.*)*$ [NC,OR]
重写规则 .(jpeg|JPEG|jpe|JPE|jpg|JPG|gif|GIF|png|PNG|mng|MNG)$ – [F]
要保护其他资源,例如视频和音频文件,请向RewriteRule括号块添加其他扩展。
仅允许特定域
以下代码仅允许特定站点加载内容。例如,站点example.com包含所有内容。以下代码仅允许example.com和dreamhost.com加载内容。尝试请求任何资源的所有其他站点都无法加载资源,但不会引发错误:
重写引擎开启
RewriteCond %{HTTP_REFERER} !^http:// (www.)?dreamhost.com (/.*)*$ [NC]
RewriteCond %{HTTP_REFERER} !^http:// (www.)?example.com (/.*)*$ [NC]
重写条件 %{HTTP_REFERER} !^$
重写规则 .(jpeg|gif|png)$ – [F]
此外,由于用户代理可能并不总是指定HTTP_REFERER值,如果HTTP_REFERER值包含空白字符串,则RewriteCond %{HTTP_REFERER} !^$行允许请求通过。推荐相关阅读:《关于robotstxt文件的SEO优化》