我整天都在搜索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>
谢谢。
答案 0 :(得分:1)
您可以尝试以下两种针对移动设备的重定向规则->桌面重定向:
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,NE,R=302]
答案 1 :(得分:1)
我刚发现问题所在。 发现Cloudflare本身具有移动重定向选项。 因此,在子域上创建了一个移动网站,并启用了CF上的移动设备重定向到该子域的功能。 在根域和子域上启用“缓存所有内容”。 从.htaccess中删除了重定向规则。 现在,我具有正常的TTFB,并且移动流量重定向正在运行。 只有台式机->移动-会很好。