0

I've been looking everywhere for an answer to my question but can't seem to find one. I'm trying to set up a redirect in my .htaccess file to the mobile version of my website (which is set up as a subdomain) for every type of mobile device imaginable EXCEPT the iPad and Android tablet. The closest things I've seen are this and this, but neither one helped me.

I found code that sort of works for me (in the sense that it definitely redirects to the mobile version of my site when using an Android phone), but it presents at least two problems: 1) It includes a redirect for users who are on iPads, which I don't want, and 2) It throws an Internal Server Error when viewed on non-mobile browsers (I think the ".au" extension used in the code is because the person who came up with the code is in Australia -- and I'm not, so I deleted that ".au" when entering my subdomain -- but I doubt this has anything to do with the issue):

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^m.website.com.au$
RewriteCond %{HTTP_USER_AGENT}     (android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|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|phone)|xda|xiino [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(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\-) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ipad [NC]
RewriteRule ^(.*)$ http://m.website.com.au/$1 [R=302,L]

RewriteCond %{HTTP_HOST} !^m.website.com.au$
RewriteCond %{HTTP_USER_AGENT} android [NC]
RewriteCond %{HTTP_USER_AGENT} !mobile [NC]
RewriteRule ^(.*)$ http://m.website.com.au/$1 [R=302,L]

RewriteCond %{HTTP_HOST} !^m.website.com.au$
RewriteCond %{REQUEST_URI} !^/serverfolder/(.*)
RewriteRule (.*) /serverfolder/$1 [L] 
</IfModule>

Can anyone please tell me what I'm doing wrong? Thanks in advance for your help.

Community
  • 1
  • 1
Drupguy
  • 1
  • 2
  • Why, dare I ask, would you want to do this? I mean, why would you want to give an iPad the full site, but not a large Android tablet? – chiastic-security Oct 25 '14 at 16:14
  • That's a very good question, @chiastic-security. I hadn't thought about that, unbelievably, but you're right. I've edited the post's title and body to reflect this. In that case: what code could I use to exclude redirects with respect to iPads and Android tablets? – Drupguy 15 mins ago – Drupguy Oct 25 '14 at 16:39
  • No takers, eh? Someone must know an answer to this. I've tried other configurations, including this from http://www.inmotionhosting.com/support/website/redirects/mobile-redirect: RewriteEngine On RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC] RewriteCond %{REQUEST_URI} ^/$ RewriteRule ^ http://m.domain.com%{REQUEST_URI} [R,L] But it didn't work. Any ideas? Thanks. – Drupguy Oct 29 '14 at 15:59
  • Ok, so I figured out that by simply placing the "!" operator in front of "ipad" above, that would stop the redirect to the mobile site from ipads. But I'm still having an issue with desktops being redirected to the mobile site. I've tried a million things (including adding redirect code in the subdomain's .htaccess file), but nothing is working. Can anyone help? – Drupguy Nov 04 '14 at 15:27
  • Rather than changing the title to start with "SOLVED", can you please post your answer, and then mark it as accepted? That will help other people who are searching. – chiastic-security Nov 19 '14 at 20:21

1 Answers1

0

Ok, I figured it out. This link really helped. I hope this helps anyone who may be struggling like I did.

Community
  • 1
  • 1
Drupguy
  • 1
  • 2