0

国際市場にサービスを提供する Web サイトがあり、ユーザーの IP に基づいて 3 つの異なるドメイン名のいずれかを使用する必要があります。

ユースケースは次のとおりです。

  • 英国のユーザー IP、ドメイン名は www.example.co.uk として表示されます
  • オーストラリアのユーザー IP、ドメイン名は www.example.co.au として表示されます
  • 他のすべての IP、ドメイン名は www.example.com として表示されます

回答では、各国から使用する正確な IP アドレスを知る必要はありません。そのため、回答に一般的な IP を使用することができます。与えられた。

ありがとう!

4

2 に答える 2

1

mod_geoipをインストールする必要があり、mod_rewrite を使用して使用できます。

# stuff for initializing mod_geoip
GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

RewriteEngine on

# rules per country
# User IP from the UK, domain name appears as www.example.co.uk
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^GB$
RewriteCond %{HTTP_HOST} !example.co.uk [NC]
RewriteRule ^/?(.*)$ http://www.example.co.uk/$1 [R,L]

# User IP from Australia, domain name appears as www.example.co.au
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AU$
RewriteCond %{HTTP_HOST} !example.co.au [NC]
RewriteRule ^/?(.*)$ http://www.example.co.au/$1 [R,L]

# All other IPs, domain name appears as www.example.com
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^GB$
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^AU$
RewriteCond %{HTTP_HOST} !example.com [NC]
RewriteRule ^/?(.*)$ http://www.example.com/$1 [R,L]
于 2012-09-24T01:01:20.203 に答える
0

インデックス ファイルの先頭に PHP コードを追加する方が簡単だと思います。$_SERVER['REMOTE_ADDR']

于 2012-09-23T15:42:35.570 に答える