[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

IIS 6 mobile device redirect solution needed

Posted on 2015-02-03
3
Medium Priority
?
274 Views
Last Modified: 2015-02-05
Hello, I have a test project where I need to redirect pages based on if the visitor is using a mobile device. I have looked over several techniques and I think the "easier" technique might be to see if I can  configure the rules in the website's web.config file. The server is windows 2003, iis 6. I have two websites:

1. desktop version: website.com
2. mobile version: m.website.com

If a visitor lands on website.com/page1.html and they are on a mobile device, the web.config rule should redirect them to m.website.com/page1.html

This rule is the same for all pages on the site (website.com/page2.html should redirect user to m.website.com/page2.html, etc.)

I've copy and pasted the below code from http://detectmobilebrowsers.com/ IIS section and it doesn't seem to work at least under IIS6. Does anyone have any information I can review that could work in a website's IIS 6 web.config file? Thank You.


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <clear />
        <rule name="MobDedect" stopProcessing="true">
          <match url=".*" ignoreCase="false" />
          <conditions logicalGrouping="MatchAny">
            <add input="{HTTP_USER_AGENT}" pattern="(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino" />
            <add input="{HTTP_USER_AGENT}" pattern="^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)" />
          </conditions>
          <action type="Rewrite" url="http://detectmobilebrowser.com/mobile" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Open in new window

0
Comment
Question by:Mark B
  • 2
3 Comments
 
LVL 29

Expert Comment

by:Dan McFadden
ID: 40588181
You need to update the following line to reflect your mobile site:

<action type="Rewrite" url="http://detectmobilebrowser.com/mobile" />

Open in new window


Replace that URL with your mobile site.

Dan
0
 
LVL 29

Accepted Solution

by:
Dan McFadden earned 2000 total points
ID: 40588305
As a side note: IMO, I am not so confident that is the best method for managing mobile device requests to a website.  Detecting user agents is like trying to hit a moving target.  They are a forever changing animal.  Also, on my mobile device, I can chose how my browser presents itself to a website.  I have the option of presenting a desktop or mobile UA.

I would go in the direction of detecting the capabilities of the device making a request and adjust the layout based on the display abilities of the browser/device.  This meaning using a responsive design in your CSS and HTML.

There are plenty of frameworks available which are mature and well known:

1. Boot Strap (http://getbootstrap.com)
2. Foundation (http://foundation.zurb.com/)
3. Skeleton (http://getskeleton.com/)

and plenty more...

There are also things like Modernizr (http://modernizr.com/) which help in detecting the capabilities of devices making requests and then adjusting the layout/CSS based on the info detected.

Just an opinion or a little soapboxing... not sure what you may have already tried or what exactly your requirements are.

Dan
0
 

Author Closing Comment

by:Mark B
ID: 40592115
Thanks for the responsive design links, when we are ready for the production project, we will be designing a single responsive site. This project is a test and the requirements with the vendor I am working with was to set two sites so we can collect some data. I've moved on to writing rules with .htaccess with a IIS plug in that allows to use apache rules since there are some many examples on the web for apache.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Dramatic changes are revolutionizing how we build and use technology. Every company is automating, digitizing, and modernizing operations. We need a better, more connected way to work together as teams so we can harness the insights from our system…
When the s#!t hits the fan, you don’t have time to look up who’s on call, draft emails, call collaborators, or send text messages. An instant chat window is definitely the way to go, especially one like HipChat. HipChat is a true business app. An…
This tutorial walks through the best practices in adding a local business to Google Maps including how to properly search for duplicates, marker placement, and inputing business details. Login to your Google Account, then search for "Google Mapmaker…
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…

825 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question