如何使用.htaccess防止特定网站的热链接

dzhpxtsq  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(187)

我希望能够阻止热链接,并显示一个特定的图像只为一些域。我已经尝试过这种方法,但这阻止所有网站从热链接使用.htaccess

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com/.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?example\.com/ [NC]
RewriteRule \.(gif|jpg|jpeg|png|webp)$ https://image.example/img/logo.jpg [R=301,L]

我的问题是:例如,我的网站是:example.com,并且我只想阻止此特定域的热链接:domain-name.example。我如何修改上面的代码,以便只阻止该特定域的热链接?

scyqe7ek

scyqe7ek1#

您可以将该域名放入一个没有否定(!)的重写条件中。

RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?domain-name.example(/.*)?$ [NC]
RewriteRule \.(gif|jpg|jpeg|png|webp)$ https://image.example/img/logo.jpg [R=301,L]

在此规则中使用(/.*)?表示“可选的URL路径”。它可以不以斜杠结尾,也可以斜杠后接其他内容。这有效地组合了两个重写条件。

相关问题