如何泛型.htaccess来防止热链接



以下代码运行良好:

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

但我想为我管理的几个网站制作一个通用脚本,但尝试获得失败了

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

您不能在正则表达式中使用变量。你可以通过使用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/.*

最新更新