The following code works fine:
JavaScript
x
RewriteCond %{HTTP_REFERER} !^http://superwebx.com/.*$ [NC]
RewriteRule .*.(jpe?g|gif|bmp|png|swf|css)$ - [F]
but I want to make a generic script serve me for several sites I manage, but fails try to get
JavaScript
RewriteCond %{HTTP_REFERER} !^http://%{HTTP_HOST}/.*$ [NC]
RewriteRule .*.(jpe?g|gif|bmp|png|swf|css)$ - [F]
Advertisement
Answer
You can’t use variables inside the regex. You can work around this by using a RegEx backreference like so:
JavaScript
RewriteCond %{HTTP_REFERER} ^https?://([^/]+)/ [NC]
RewriteCond %1#%{HTTP_HOST} !^(.+)#1$
RewriteRule .(jpe?g|gif|bmp|png|swf|css)$ - [F]
(note the #
is just used as a boundry. It could be any character that isn’t used in domain-names.)