Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In evaluating a rewrite rule that redirects to a specific URL and say the rewrite condition is met, would it be possible to use HTTP_HOST as part of the URL to be redirected to?

Example in question:

RewriteRule .*\.(jpg|jpe?g|gif|png|bmp)$ http://%{HTTP_HOST}/no-leech.jpg [R,NC]

The motive behind this question is a desire to create a single htaccess file that would match against an addon domain (on a shared hosting account) and an infinite amount of subdomains below it to prevent hotlinking of images.

share|improve this question

You can use %1 (and %2, etc) to access matches in preceding RewriteCond statements:

RewriteEngine On
# don't redirect no-leech.jpg or we'll end up in a loop
RewriteCond %{REQUEST_URI} !^/no-leech.jpg$
# match Host header and store
RewriteCond %{HTTP_HOST} (.*)
RewriteRule \.(jpg|jpe?g|gif|png|bmp)$ http://%1/no-leech.jpg [R,NC,L]


# GET -Sd http://localhost/foo.jpg
GET http://localhost/foo.jpg --> 302 Found
GET http://localhost/no-leech.jpg --> 200 OK

And with a different Host header:

# GET -SedH 'Host:' http://localhost/foo.jpg
GET http://localhost/foo.jpg --> 302 Found
GET --> 200 OK
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.