Maxmind's GeoLite Country डेटाबेस डाउनलोड और स्थापित करें, जो 99.5% सटीकता का दावा करता है। आप दावा किए गए 99.8% सटीकता के साथ एक भुगतान संस्करण में अपग्रेड करने के लिए भुगतान कर सकते हैं। PHP से डेटाबेस का उपयोग करने के तरीके के संबंध में चार विकल्प हैं:
- CSV फ़ाइल डाउनलोड करें और इसे अपने SQL डेटाबेस में आयात करें। यह सबसे धीमा विकल्प है, और इसमें एक बदसूरत एपीआई है। मैं इसकी अनुशंसा नहीं करता, लेकिन इसमें पूर्णता के लिए शामिल था।
- एक शुद्ध PHP क्लास डाउनलोड करें जो डेटाबेस फ़ाइल को पढ़ सकता है। यह SQL विकल्प की तुलना में एक अच्छा एपीआई प्रदान करता है, लेकिन अभी भी थोड़ा धीमा है। PHP4 और PHP5
- के लिए संस्करण हैं C extension module for PHP डाउनलोड और स्थापित करें। इसका nice interface और अच्छा प्रदर्शन होने का लाभ है। शुद्ध PHP वर्ग की तुलना में स्थापित करना अधिक कठिन है, इसलिए आपको अपनी होस्टिंग कंपनी से जांच करनी पड़ सकती है। यदि आप भाग्यशाली हैं, तो यह पहले ही इंस्टॉल हो सकता है।
- आप blazingly तेजी से प्रदर्शन की जरूरत है, Apache module साथ जाना। यह स्थापित करना सबसे कठिन है, लेकिन सबसे तेज़ विकल्प भी है।
इन सभी विकल्पों में देश का कोड प्राप्त करने के लिए एक विधि है। मैं एसक्यूएल विकल्प शामिल नहीं होगा, लेकिन आप more info here मिल सकती है।
शुद्ध PHP4:
include("geoip.inc");
$gi = geoip_open("/usr/local/share/GeoIP/GeoIP.dat",GEOIP_STANDARD);
$code = geoip_country_code_by_addr($gi, "24.24.24.24");
PECL PHP एक्सटेंशन:
$code = geoip_country_code_by_name($_SERVER['REMOTE_ADDR']);
अपाचे मॉड्यूल:
$code = apache_note("GEOIP_COUNTRY_CODE");
फिर आप इन कोड के आधार पर रीडायरेक्ट कर सकते हैं, एक HTTP रीडायरेक्ट का उपयोग कर:
$redirect = array("AU" => "http://australia.example.com", "NZ" => "http://newzealand.example.com")
$url = $redirect[$code]
header("Location: $url");
यह दो HTTP अनुरोध तथापि का कारण बनता है, और इस तरह से इनकी है।,
GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat
# Redirect one country
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA
RewriteRule ^(.*)$ http://www.canada.com$1 [L]
# Redirect multiple countries to a single page
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CA|US|MX)$
RewriteRule ^(.*)$ http://www.northamerica.com$1 [L]
बेशक
, यह करने के लिए एक यकीनन बेहतर तरीका यह तुम्हारे लिए क्या करने के लिए किसी और को प्राप्त करने के लिए है पर: एक बेहतर दृष्टिकोण को फिर से लिखने ऐसा करने के लिए, अपने .htaccess
फ़ाइल में अपाचे मॉड्यूल का उपयोग करने के लिए है डीएनएस स्तर। एक त्वरित खोज this company से पता चला, (मुझे नहीं पता कि वे अच्छे हैं या नहीं) इसमें कोई संदेह नहीं है कि कुछ भी हैं। इस तरह Google ऐसा करता है।
कई कंपनियां इंटरनेट एक्सेस एक देश के माध्यम से होती हैं, भले ही उनके कर्मचारी कहीं और – Mark