2012年1月13日 星期五

Apache RewriteMap Usage

從 IP 判斷User的合約
ip_contract_map.txt 如下:第一欄為User IP,第二欄為合約ID
10.1.1.254 1
60.199.248.193 2
60.251.144.84 3
114.32.4.229 3

Apache設定:

...
#打開RewriteEngine
RewriteEngine on

#將 mapping 讀出來當成contracts這變數。
RewriteMap contracts txt:/srv/www/ip_contract_map.txt

#不覆寫原本的網址,直接用 User 的 IP 當成 key 去 mapping 裡面找。
# %{REMOTE_ADDR} 是遠端的IP
RewriteRule .* - [E=REDIRECT_CONTRACT_ID:${contracts:%{REMOTE_ADDR}}]
...

沒有留言:

張貼留言