Library code snippets

Redirect Web Visitors By Country Using ASP and COM

There are times when it is useful to redirect a visitor to different default web page based on the visitor's country of origin. One practical usage is to redirect visitor to web page with the language recognized by the visitor. This article shows you how using ASP and ActiveX component this can be done.

Let us take a simple case study. Company XYZ is multi-national company with major customers from United States and Japan. The company official website is developed in both English and Japanese languages. The default page is in English language and visitor can switch to Japanese by changing the default language option. There exists a potential problem when a Japanese visitor does not understand English and it could not navigate the web site.

So let us developed a simple solution to help Company XYZ redirecting all Internet traffic from country Japan to the Japanese language site. Meanwhile it drives the rest traffic to English site. In this example, we use a fully functional IP2Location™ ActiveX component available here to query country by visitor's IP address. For unregistered component, there is a 5-second delay in every query.

First, install the ActiveX component in IIS web server. It could be as simple as running a command in DOS prompt.

C:\> regsvr32 ip2location.dll

Let’s assume the English web page as index_en.htm and Japanese web page as index_jp.htm. We implement a simple script default.asp to detect visitor's country of origin. If the visitor is from Japan, then redirect him/her to index_jp.htm, otherwise index_en.htm. Simple? Here is the code and the comments serve as explanation


default.asp

<%
   ' Create server-side object
   Set ipObj = Server.CreateObject("IP2Location.Country")
   
   ' Initialize IP2Location object
   If ipObj.Initialize("demo") <> "OK" Then
       response.write "IP2Location Initialization Failed.
   End If
   
   ' Get visitor's IP address
   IPaddr = Request.ServerVariables("REMOTE_ADDR")

   ' Detect visitor's country of origin by IP address
   CountryName = ipObj.LookUpShortName(IPaddr)
   
   ' Free IP2Location object    
   Set ipObj = nothing
   
   If CountryName = "JP" Then
       ' Visitor is from Japan
       ' Redirect the URL to index_jp.htm
       Response.Redirect "index_jp.htm"
   Else
       ' Visitor is not from Japan
       ' Redirect the URL to index_en.htm
       Response.Redirect "index_en.htm"
   End If
%>

Place this script as the default script of the web site. All visitors will go through this screening before redirect to an appropriate web page.

Comments

  1. 12 May 2003 at 19:35

    This is a far more advanced utility for redirection / restriction acces to a website based on IP and Country and it`s 100% Free.


    It uses MySql or plain text databases. Each country (or IP database) has a redirection link associated. If the user`s IP is in a IP database it is redirected to the redirection link associated with it, or if this one is blank, to the default redirection link. If this default redirection link is blank too, the page is loaded. If the user is not in any database, he is redirected to the default 'not in database' link or if this one is blank, the page is loaded.


    Click here to find out more!


    Have Fun!

  2. 01 Mar 2003 at 19:21

    Please download the demo component from this web site.


    http://www.ip2location.com

  3. 01 Jan 1999 at 00:00

    This thread is for discussions of Redirect Web Visitors By Country Using ASP and COM.

Leave a comment

Sign in or Join us (it's free).

 tgotchi

Want to stay in touch with what's going on? Follow us on twitter!