Hvis du har brug for særskilt konfiguration baseret på klientens ip adresse kan du gøre dette vha <If> direktivet.
I tilfælde hvor Apache svarer direkte findes ip’en i REMOTE_ADDR:
1 2 3 4 |
<If "%{REMOTE_ADDR} -ipmatch '12.34.56.78'"> SetEnv MY_VALUE "Hello" Alias /hej /sti/til/mappe </If> |
I tilfælde hvor Apache er bag en proxy, findes ip’en i X-Forwarded-For
der er en kommasepareret liste med alle de proxies klienten har været gennem på sin vej. Den første ip er den oprindelige, altså klientens egen ip.
Linie #1 i nedenstående henter ip’en ud af listen og over i XFFCLIENTIP
variablen:
1 2 3 4 5 |
SetEnvIf X-Forwarded-For "^(\d{1,3}+\.\d{1,3}+\.\d{1,3}+\.\d{1,3}+).*" XFFCLIENTIP=$1 <If "%{ENV:XFFCLIENTIP} -ipmatch '12.34.56.78'"> SetEnv MY_VALUE "Hello" Alias /hej /sti/til/mappe </If> |
Ovenstående afprøvet på Apache 2.4