【发布时间】:2013-07-03 17:17:12
【问题描述】:
我需要为我的 .htaccess 文件编写一个防盗链命令,但它不能特别针对任何域名。到目前为止,这是我在其他网站上发现的,但我不确定为什么它不起作用,有人能发现问题吗?
# Stop hotlinking.
#------------------------------
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^https?://([^/]+)/ [NC]
# Note the # is just used as a boundary. It could be any character that isn't used in domain-names.
RewriteCond %1#%{HTTP_HOST} !^(.+)#\1$
RewriteRule \.(bmp|gif|jpe?g|png|swf)$ - [F,L,NC]
【问题讨论】:
-
注意:上面的代码基于另一个似乎不起作用的 Stackoverflow 帖子/答案。 link
-
当我把它放在一个空白的 htaccess 中时,这对我有用,任何热链接图像都会返回 403,我在同一站点的页面上查看的每个图像都会返回 200。
-
@jon 嗨乔恩,我在下面提到由于某种原因它再次开始为我工作。我想我被那些在使用 SHIFT + 重新加载按钮刷新页面时根本不会清除缓存的浏览器迷惑了。尽管如此,我确实需要更多的帮助来理解这段代码是如何工作的,而 Ravi 做得很好。
标签: .htaccess hotlinking unknown-host