www.webdeveloper.com
Results 1 to 7 of 7

Thread: Need help with .htaccess redirect

Hybrid View

  1. #1
    Join Date
    Oct 2008
    Posts
    50

    Need help with .htaccess redirect

    I want to redirect all users with outdated browsers to a different site.

    I'm currently using the following in a .htaccess file:
    Code:
    <ifmodule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !^.png [nc]
    RewriteCond %{REQUEST_FILENAME} !^.css [nc]
    RewriteCond %{REQUEST_FILENAME} !^.jpg [nc]
    RewriteCond %{REQUEST_FILENAME} !^.js [nc]
    RewriteCond %{REQUEST_FILENAME} !^.gif [nc]
    RewriteCond %{HTTP_USER_AGENT} "Firefox/3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Firefox/2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Firefox/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Flock/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Camino/1\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/11\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/10\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/9\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/8\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/7\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/6\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/5\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/4\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/3\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/2\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/8\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/7\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/6\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/5\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/4\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/1\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Safari/5\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/4\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Navigator/" [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 7\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 6\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 5\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 4\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 1\." [nc]
    RewriteRule . http://www.othersite.com/ [L]
    </ifmodule>
    It works fine but it also sends Windows Phone users to the other site even though their browser is newer and can handle the original site.

    I know it's because of the MSIE entries.

    How can I fix this?

    I can't find a code example that will exclude mobile devices.

    Thank you

  2. #2
    Join Date
    Oct 2008
    Posts
    50
    I edited the file as follows and it seems to work so far:

    Code:
    <ifmodule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !^.png [nc]
    RewriteCond %{REQUEST_FILENAME} !^.css [nc]
    RewriteCond %{REQUEST_FILENAME} !^.jpg [nc]
    RewriteCond %{REQUEST_FILENAME} !^.js [nc]
    RewriteCond %{REQUEST_FILENAME} !^.gif [nc]
    RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [nc]
    RewriteCond %{HTTP_USER_AGENT} "Firefox/3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Firefox/2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Firefox/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Flock/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Camino/1\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/11\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/10\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/9\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/8\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/7\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/6\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/5\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/4\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/3\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/2\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Version/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/8\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/7\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/6\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/5\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/4\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Opera/1\." [nc,or]
    #RewriteCond %{HTTP_USER_AGENT} "Safari/5\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/4\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Safari/1\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "Navigator/" [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 7\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 6\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 5\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 4\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 3\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 2\." [nc,or]
    RewriteCond %{HTTP_USER_AGENT} "MSIE 1\." [nc]
    RewriteRule . http://www.othersite.com/ [L]
    </ifmodule>
    Any suggestions?

  3. #3
    Join Date
    Jun 2012
    Location
    vincewicks
    Posts
    43
    Have you checked the log file?

    Is there any error related to this .htaccess file..

  4. #4
    Join Date
    Oct 2008
    Posts
    50
    No errors.

  5. #5
    Join Date
    Oct 2008
    Posts
    50
    I have encountered an issue and I don't know how to fix.

    When testing this .htaccess, the rewrite takes place if I use Opera version 12.10.

    How should I change it so this does not happen?

    I'm assuming this line is not specific enough:
    Code:
    RewriteCond %{HTTP_USER_AGENT} "Opera/1\." [nc,or]
    Actually, couldn't the entire file be rewritten so there is only one line per make?

    Example:
    RewriteCond %{HTTP_USER_AGENT} "Opera/less than version 10\." [nc,or]

  6. #6
    Join Date
    Oct 2008
    Posts
    50
    This seems to work OK but it's not exactly what I wanted:
    Code:
    <ifmodule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !^.png [NC]
    RewriteCond %{REQUEST_FILENAME} !^.css [NC]
    RewriteCond %{REQUEST_FILENAME} !^.jpg [NC]
    RewriteCond %{REQUEST_FILENAME} !^.js [NC]
    RewriteCond %{REQUEST_FILENAME} !^.gif [NC]
    RewriteCond %{HTTP_USER_AGENT} "!(android|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|opera mini|palmos|webos)" [NC]
    RewriteCond %{HTTP_USER_AGENT} "Blackberry" [NC,OR]
    
    RewriteCond %{HTTP_USER_AGENT} "Firefox/[1-3]\." [NC,OR]
    
    RewriteCond %{HTTP_USER_AGENT} "Flock/1\." [NC,OR]
    
    RewriteCond %{HTTP_USER_AGENT} "Camino/1\." [NC,OR]
    
    RewriteCond %{HTTP_USER_AGENT} "Chrome/[1-6]\." [NC,OR]
    
    RewriteCond %{HTTP_USER_AGENT} Opera/9\..*Version/(1[10]|[1-9])\. [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} "Opera/[1-8]\." [NC,OR]
    
    
    RewriteCond %{HTTP_USER_AGENT} "Safari/[1-4]\." [NC,OR]
    
    RewriteCond %{HTTP_USER_AGENT} "Navigator" [NC,OR]
    
    RewriteCond %{HTTP_USER_AGENT} "MSIE [1-7]\." [NC]
    
    RewriteRule . http://www.othersite.com/ [L]
    </ifmodule>

  7. #7
    Join Date
    Feb 2013
    Location
    USA
    Posts
    40
    Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic.t is extremely helpful for me.
    regards
    Shawn

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles