如果經營一個跨國網站
想要針對不同國家來的客戶,呈現出客製化的內容、語系
或是想要導到當地比較的機房
可以利用apache + mod_geoip + rewrite 來實現
安裝 GeoIP
cd /usr/ports/net/GeoIP
make install
GeoIP資料庫預設會放在 /usr/local/share/GeoIP
剛安裝完後是空的,必須執行已下指令下載資料庫
/usr/local/bin/geoipupdate.sh
也可以將這個指令放入crontable排程中,定時更新資料庫
crontab -e
0 0 1 * * /usr/local/bin/geoipupdate.sh
之後便下載以下兩個檔案
-r--r--r-- 1 root wheel 1.0M 5 3 05:30 GeoIP.dat
-r--r--r-- 1 root wheel 1.9M 5 3 05:30 GeoIPv6.dat
安裝 mod_geoip
cd /usr/ports/www/mod_geoip2
make install
編輯apache設定
vi /usr/local/etc/apache22/httpd.conf
LoadModule geoip_module libexec/apache22/mod_geoip.so
Include etc/apache22/extra/geoip.conf
vi /usr/local/etc/apache22/extra/geoip.conf
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile //usr/local/share/GeoIP/GeoIP.dat
</IfModule>
重啟apache
apachectl restart
編輯rewrite rule ,如果是美國來的ip則轉址到美國網站
vi .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mybox.tw$ [NC]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
RewriteRule ^(.*)$ http://us.mybox.tw/$1 [L,R]
Python新手使用Django架站的16堂課:
活用Django Web Framework快速建構動態網站
作者: 何敏煌
出版社:博碩
留言列表