如何通用.htaccess来防止热链接

下面的代码工作正常:

RewriteCond %{HTTP_REFERER} !^http://superwebx.com/.*$ [NC] RewriteRule .*\.(jpe?g|gif|bmp|png|swf|css)$ - [F] 

但我想要一个通用脚本为我pipe理的几个网站提供服务,但是却无法获得

 RewriteCond %{HTTP_REFERER} !^http://%{HTTP_HOST}/.*$ [NC] RewriteRule .*\.(jpe?g|gif|bmp|png|swf|css)$ - [F] 

Solutions Collecting From Web of "如何通用.htaccess来防止热链接"

你不能在正则表达式中使用变量。 您可以使用RegEx反向引用来解决此问题,如下所示:

 RewriteCond %{HTTP_REFERER} ^https?://([^/]+)/ [NC] RewriteCond %1#%{HTTP_HOST} !^(.+)#\1$ RewriteRule \.(jpe?g|gif|bmp|png|swf|css)$ - [F] 

(请注意, #仅用作边界,它可以是任何不在域名中使用的字符)。

很老的,但是这是你的答案:

 RewriteCond %{HTTP_HOST}@@%{HTTP_REFERER} !^([^@]*)@@https?://\1/.*