Mobile app version of vmapp.org
Login or Join
Annie201

: A better method to save state between desktop and mobile site This is something I want to fix for a long time. To begin, on my website I have a cookie named MDD and its set to 1 if the

@Annie201

Posted in: #Cookie #Desktop #Mobile #Redirects #Url

This is something I want to fix for a long time.

To begin, on my website I have a cookie named MDD and its set to 1 if the mobile detection has already happened. This is my code:

RewriteCond %{HTTP_COOKIE} !MDD=1;?
RewriteCond %{HTTP_USER_AGENT} (android|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|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|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]
RewriteCond %{HTTP_HOST} ^(www.|)example..com$ [NC]
RewriteRule ^(.*)$ m.example.com/ [NC,R=301,L]
RewriteRule ^(.*)$ example.com/ [NC,R=301,L]


Thats fine, but the problem is that on each version of the website, I'm trying to set the cookie when the user switches between desktop and mobile mode so that the user doesn't end up in an endless redirect.

I have a rule set like this for the desktop site:

RewriteRule ^mobile-site$ m.example.com/ [R=301,NC,L,CO=MDD:1:.example.com:144000:/]


I have a rule set like this for the mobile site:

RewriteRule ^desktop-site-force$ example.com/ [R=301,NC,L,CO=MDD:1:.example.com:144000:/]


I want to be able to allow the mobile user to visit the desktop site without trouble and the only way to do that is to set the cookie.

The problem with my idea that I think google might have is that a redirect is present while the cookie is being set.

Is there a way to eliminate such redirects and still allow the users to ultimately decide which site they want to visit (desktop or mobile) after initially being redirected to the proper site?

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Annie201

1 Comments

Sorted by latest first Latest Oldest Best

 

@BetL925

Maybe get it done without cookie and saving the state?

You decide on every visit with media query based on visitors monitor width, which version to serve, and, beside of this initial decision, implement on both, desktop and mobile, versions a nofollowed link to another version, like "wanna check, how looks our desktop/mobile version?"

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme