微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.htaccess桌面版->移动版的代码|手机->桌面?

如何解决.htaccess桌面版->移动版的代码|手机->桌面?

我整天都在搜索stackoverflow,发现代码仅适用于重定向台式机->移动设备,有时它可以工作,有时却不能:

RewriteCond %{QUERY_STRING} !^desktop
RewriteCond %{HTTP_USER_AGENT} "android|blackBerry|googlebot-mobile|iemobile|iphone|ipod|#opera mobile|palmos|webos" [NC]
RewriteRule ^$ https://www.example.com/m/ [L,R=302]

无论如何,我找不到任何有效的解决方案来重定向Mobile-> Desktop。

任何人都可以共享.htaccess的工作解决方案来进行重定向https://www.example.com ---> https://www.example.com/m/用于移动设备,https://www.example.com/m/ ---> https://www.example.com/用于台式机用户。 / p>

谢谢。

解决方法

您可以尝试以下两种针对移动设备的重定向规则->桌面重定向:

RewriteEngine On

RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]
RewriteRule ^ - [E=MOBILE:1]

# desktop -> mobile
RewriteCond %{QUERY_STRING} !^desktop [NC]
RewriteCond %{ENV:MOBILE} =1
RewriteRule ^ /m%{REQUEST_URI} [L,NE,R=302]

# mobile -> desktop
RewriteCond %{QUERY_STRING} ^desktop [NC,OR]
RewriteCond %{ENV:MOBILE} ^$
RewriteRule ^m/(.*)$ /$1 [L,NC,R=302]

,

我刚发现问题所在。 发现Cloudflare本身具有移动重定向选项。 因此,在子域上创建了一个移动网站,并启用了CF上的移动设备重定向到该子域的功能。 在根域和子域上启用“缓存所有内容”。 从.htaccess中删除了重定向规则。 现在,我具有正常的TTFB,并且移动流量重定向正在运行。 只有台式机->移动-会很好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。