Redirect all except one /24 to another URL

Discussion in 'Server Operation' started by forrie, Nov 28, 2012.

  1. forrie

    forrie New Member

    I'm having a devil of a time getting Apache's Rewrite* stuff to do what I need.

    Basically, I have a range of IP space that I need to redirect to a specific URL /except/ one IP within that range. Everyone else in the world also gets the normal/default URL.

    So, in pseudocode:

    If matches all of 1.2.0.0 BUT NOT 1.2.3.4
    Redirect to http://this.site
    else
    continue
    Fi

    Specifically I am also redirecting any queries to ^/ to a specific page (ie: index.php) but I need the above conditional to apply.

    I've tried many examples from out there and it's understandably confusing. It appears you can't really negate this in a RewriteCond loop, either -- I tried it.

    Anyone know how to accomplish this correctly in apache 2.2?


    Thanks.
     
  2. patrick3853

    patrick3853 New Member

    By default multiple RewriteCond's are treated using a logical AND, so...

    Code:
    RewriteCond %{REMOTE_ADDR} ^1\.2\.
    RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4$
    RewriteRule...
    Does exactly what you want. It says If the IP starts with 1.2. and does not equal 1.2.3.4, then apply the rule
     

Share This Page