If you use a content management system for your site, it probably already deals with mobile systems. But, what if you have parts of your site that aren't in a CMS, or you do your site by hand? Media queries are best, but sometimes you just need to serve a different file to mobile with the least hassle.
Well, it would be nice to redirect to a subdirectory and then you can easily share content with the main site via symlinks (such as the content management system). Normally, this isn't a nice thing to do to your caches since any caches along the way won't know that the symlinked files aren't the same, but if you can solve that, let me know.
The following method redirects the user if they are on a mobile browser, but still allows them to use the "Request Desktop Site" feature. Just include the file in your tengine or nginx server configuration. The actual rewrite is done at the end. Scroll to the bottom and you'll see the line to edit. I tried to attach the file, but it said I'm not permitted to upload files of that type. Cut-Paste or email me and I'll send it to you.
#- This file for doing redirects based on mobile detection
set $mobile_rewrite do_not_perform;
#- chi http_user_agent for mobile / smart phones
if ($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") {
set $mobile_rewrite perform;
}
if ($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\-)") {
set $mobile_rewrite perform;
}
set $force_dt_cookie "";
if ($args ~ 'desktop=true') {
set $mobile_rewrite do_not_perform;
set $force_dt_cookie "desktop=true";
}
add_header Set-Cookie $force_dt_cookie;
if ($http_cookie ~ 'desktop=true') {
set $mobile_rewrite do_not_perform;
}
location /m {
error_page 404 /m/error/404.html;
}
#- redirect to /m except /m, /mail, /joomla
if ($mobile_rewrite = perform ) {
rewrite ^(?!(/m|/joomla)+) /m$request_uri? break;
break;
}
#- To redirect to m.example.com, change above rewrite to
# rewrite ^ https://m.example.com$request_uri? break;
That's it, just put the changed files in the "m" directory of your server! Then symlink to the stuff you want to keep
Somehow, between the changes made to "swipe" the administration blog and moving servers and all that, the Photo Gallery was horribly broken and no one ever told me! I went to show some relatives over the holidays and it was dead! How embarassing! It's back up now, and I'll even try to add some new content to it soon. Please open WebSite > Photo Gallery from the menu at the bottom of your screen. Best viewed on touchscreens!
Eddon Systems now supports an alternate ROM for the OnePlus ONE mobile phone. The primary developer's methods focus on making the code more efficient, rather than adding flashy cruft or over or underclocking. This is my daily driver and I felt it would be more useful to provide developer support rather than money. Time is often the resource in shortest supply.
The admin blog is up, and articles that have been written elsewhere are being migrated in. If you are on a touchscreen you can just swipe from one article to the next. Check it out ... The Admin Tricks Blog
Ed is in charge of Public Relations. If you see him, chat is available. There isn't enough room for Ed on your cell phone screen (he insists on a big office), but you can click the chat button under the login box or catch Ed on the Contact page. Meet staff members by clicking the frog in the top right. Or you can go directly to Ed by clicking HERE.