Created
January 2, 2016 12:27
-
-
Save 3ffusi0on/496053a4ae043f756a4d to your computer and use it in GitHub Desktop.
.htaccess for mobile devices redirection to subdomain
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
####################### | |
# Subdomain redirection | |
####################### | |
RewriteEngine on | |
RewriteBase / | |
# Check if this is the noredirect query string | |
RewriteCond %{QUERY_STRING} (^|&)m=0(&|$) | |
# Set a cookie, and skip the next rule | |
RewriteRule ^ - [CO=mredir:0:www.website.com] | |
# Check if it looks like a mobile device | |
RewriteCond %{HTTP:Profile} !^$ [OR] | |
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR] | |
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC] | |
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC] | |
# Check if we're not already on the mobile site | |
RewriteCond %{HTTP_HOST} !^m\. | |
# Can not read and write cookie in same request, must duplicate condition | |
RewriteCond %{QUERY_STRING} !(^|&)m=0(&|$) | |
# Check to make sure we haven't set the cookie before | |
RewriteCond %{HTTP_COOKIE} !^.*mredir=0.*$ [NC] | |
# Now redirect to the mobile site | |
RewriteRule ^ http://m.website.com [R,L] | |
######################################### | |
# website.com redirect to www.website.com | |
######################################### | |
RewriteCond %{http_host} ^website.com [NC] | |
RewriteRule ^(.*)$ http://www.website.com/$1 [r=301,NC] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment