2013-04-18 136 views
0

我們需要做的關於移動和應用重定向的方式是,如果某個人從移動設備進入該站點?基於設備的Url重定向

1)如果設備使用IOS(IPAD除外),則建議用戶下載移動應用程序。通過點擊鏈接,用戶被重定向到appstore。如果用戶點擊「跳過應用程序下載」轉發用戶到m.example.com

2)如果設備使用Android,則建議用戶應該下載移動應用程序。通過點擊鏈接,用戶被重定向到谷歌播放。如果用戶點擊「跳過應用程序下載」將用戶轉發到m.example.com

3)如果用戶通過任何移動設備進入,只需將其轉發到移動網站m.abc.com。

4)如果設備除上述以外:轉發到m.example.com。所有鏈接應以m.example.com格式打開。鏈接應轉換爲:

a。如果有人訪問www.example.com/ViewVacancy.aspx?ID=66880鏈接應轉換爲http://m.example.com/vacancy.aspx?name=66880

b。如果某個人通過手機訪問abc.com上的任何其他頁面。他應該被重定向到http://m.example.com

+2

你正在尋找你的任務的精確解,要求某人做你的工作。 –

+3

你的問題是什麼? –

+1

重定向用戶,如果他瀏覽網站abc.com從手機,ios,android到移動網站m.abc.com – DotnetSparrow

回答

1

在你Global.asax

添加這下面的代碼:

protected void Application_AcquireRequestState(object sender, EventArgs e) 
    { 

     HttpContext context = HttpContext.Current; 

     if (context.Request.Browser.IsMobileDevice) 
     { 
      // Your Logic 
     } 
     if (context.Request.ServerVariables["HTTP_USER_AGENT"] != null) 
     { 
      //Create a list of all mobile types 
      string[] mobiles = 
      new[] 
      { "midp", "j2me", "avant", "docomo", 
      "novarra", "palmos", "palmsource", 
      "240×320", "opwv", "chtml", 
      "pda", "windows ce", "mmp/", 
      "blackberry", "mib/", "symbian", 
      "wireless", "nokia", "hand", "mobi", 
      "phone", "cdm", "up.b", "audio", 
      "SIE-", "SEC-", "samsung", "HTC", 
      "mot-", "mitsu", "sagem", "sony" 
      , "alcatel", "lg", "eric", "vx", 
      "NEC", "philips", "mmm", "xx", 
      "panasonic", "sharp", "wap", "sch", 
      "rover", "pocket", "benq", "java", 
      "pt", "pg", "vox", "amoi", 
      "bird", "compal", "kg", "voda", 
      "sany", "kdd", "dbt", "sendo", 
      "sgh", "gradi", "jb", "dddi", 
      "moto", "iphone" 
      }; 

      //Loop through each item in the list created above 
      //and check if the header contains that text 
      foreach (string s in mobiles) 
      { 
       if (context.Request.ServerVariables["HTTP_USER_AGENT"]. 
       ToLower().Contains(s.ToLower())) 
       { 
        //Your Logic 
       } 
      } 
     } 
    } 

但願這很有幫助,

+0

IPOd呢? – DotnetSparrow

+0

如果您想添加任何新的設備名稱,您可以添加它。在'string [] mobiles = new [] {'中。但設備名稱應該是正確的。我的意思是像''iphone「' – RajeshKdev

+0

我正在嘗試這個。 – DotnetSparrow