Solved

What is the best way to redirect old Internet Explorer users to a new page?

Posted on 2013-12-09
18
490 Views
Last Modified: 2014-03-04
Hello,

I've been searching and not yet found a good solution that just works, quickly. In the past I've had a div that is hidden and if IE 8 or before it is set to be visible and covers the rest of the site beneath with a warning upgrade message.

I want a better solution where the user is just sent to a different page altogether.

I've tried loads of suggestions I've found online and none other than the one below have worked for me.

<!--[if lt IE 9]><meta http-equiv="refresh" content="0;URL=http://mysite.com/update.php"><![endif]-->

This one  does work, though it is slow, the page seems to render before this redirect occurs. So older IE users see the page kind of load but not look as it should, then redirect. I obviously don't want them seeing this, I just want the redirect to be instant.



Can anyone help me with the best way to achieve this please?

Thanks :)
0
Comment
Question by:igloobob
  • 9
  • 7
18 Comments
 
LVL 82

Expert Comment

by:leakim971
Comment Utility
What about using mod_rewrite ?
Check the Browser Dependent Content section here :
https://httpd.apache.org/docs/trunk/rewrite/remapping.html

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
RedirectMatch ^/$ update.php
DirectoryIndex index.php

Open in new window

0
 

Author Comment

by:igloobob
Comment Utility
That looks great thanks. That goes into an .htaccess file then I take it? Also, this line

RewriteCond %{HTTP_USER_AGENT} .*MSIE.*

 looks like it is targeting all versions of IE, can I target specific versions? I want all below version 9 to redirect, 9 and above is fine to display the normal page.
0
 
LVL 82

Expert Comment

by:leakim971
Comment Utility
.*MSIE.* is a regular expression

So this regular expression should workd for you : MSIE\s[5-8]\.

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} MSIE\s[5-8]\.
RedirectMatch ^/$ update.php
DirectoryIndex index.php

Open in new window

0
 

Author Comment

by:igloobob
Comment Utility
Hi leakim

thanks for the swift reply!

I've added that into an .htaccess file but it isn't working, the index.php page is loading?

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} MSIE\s[5-8]\.
RedirectMatch ^/$ update.php
DirectoryIndex index.php
0
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
Comment Utility
This work fine for me :
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymlinks -MultiViews

RewriteCond %{HTTP_USER_AGENT} ^.*(MSIE\s[5-8]\..*) [NC]
RewriteRule ^(.*)$ /update.php [L,R=302,NC]

</IfModule>

Open in new window

0
 

Author Comment

by:igloobob
Comment Utility
hmm, I get this now (when viewing in Chrome),

[an error occurred while processing this directive]

and in IE (7) I get:

The requested URL /update.php was not found on this server.

The file is there. The whole site is in a development sub folder if that makes any difference?

mysite.com/dev/test/..all site files are here...
0
 
LVL 82

Expert Comment

by:leakim971
Comment Utility
did you see my previous message?
0
 

Author Comment

by:igloobob
Comment Utility
Hi, yes, it was after using what you posted in that last reply that I got the above happening
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:igloobob
Comment Utility
Hi again Leakim, slight update, not sure what happened before but the page is loading correctly in Chrome / Firefox / IE 9+ etc

In the older IE versions (using IE tester) I am getting the webpage cannot be found message.
0
 
LVL 82

Expert Comment

by:leakim971
Comment Utility
and the url is?
0
 

Author Comment

by:igloobob
Comment Utility
Hi Leakim,

it's password protected as it's a development site. Can I send you the log in privately?
0
 
LVL 82

Expert Comment

by:leakim971
Comment Utility
no, it's not allowed

the url used is : http://www.yourdomain.com/update.php

be sure to have update.php in the root folder
0
 

Author Comment

by:igloobob
Comment Utility
Ah OK so this won't work until I move the site to the root then? I'll test it then when the site is ready to go live. Currently it's all in the sub dev folder.

The .htaccess file is on that dev folder with all the site files so would have thought it would still work.
0
 

Author Comment

by:igloobob
Comment Utility
I probably need a few more days to a week to get the new site finished then will test this again in root and report back here.
0
 
LVL 82

Expert Comment

by:leakim971
Comment Utility
for your test, provide the full path to the update.php folder FROM THE ROOT

/full/path/from/root/to/update.php
0
 

Author Comment

by:igloobob
Comment Utility
OK great thanks I'll do that now..
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Several part series to implement Internet Explorer 11 Enterprise Mode
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
This Micro Tutorial will demonstrate how nuggets on the Web are formatted by using Chrome Developer Tools. These tools would not only view the site's CSS but it can also modify it and save the CSS to use on your own site.
Shows how to create a shortcut to site-search Experts Exchange using Google in the Chrome browser. This eliminates the need to type out site:experts-exchange.com whenever you want to search the site. Launch the Search Engine Menu: In chrome, via you…

772 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now