我搜索了stackoverflow一整天,发现代码只适用于重定向桌面->Mobile,有时有效,有时不起作用:
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]无论如何,我找不到任何有效的解决方案来重定向移动->桌面。
有没有人可以分享用于重定向https://www.example.com的.htaccess工作解决方案->移动设备的https://www.example.com/m/和桌面用户的https://www.example.com/m/ -> https://www.example.com/。
谢谢。
发布于 2020-11-04 21:54:57
对于移动->桌面重定向,您可以尝试以下两个重定向规则:
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]发布于 2020-11-06 21:04:13
我刚刚发现了问题所在。发现Cloudflare本身具有移动重定向选项。所以在子域上做了一个移动站点,在CF上启用了移动重定向到那个子域。在根域和子域都启用了“Cache everything”。已从.htaccess中删除重定向规则。现在我有了正常的TTFB,移动流量重定向正常工作。只有Desktop->Mobile -才是好的。
https://stackoverflow.com/questions/64679615
复制相似问题