我的要求是,如果我通过桌面访问网站,www.example.com会显示桌面页面,每当我通过移动设备打开www.example.com时,都会显示移动页面。
我使用下面的规则做到了这一点。
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\ mobile|palmos|webos) [NC]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/styles
RewriteRule ^(.*)$ http://mob.example.com/$1 [L,P]现在,我想如果我通过移动设备访问www.example.com,它打开的移动页面中有一个名为查看桌面站点的链接,我希望每当我单击该链接时,它就会在我的手机中为我打开桌面页面。query_string为force=desktop。我尝试了下面的规则,但不起作用
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{QUERY_STRING} force=desktop
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\ mobile|palmos|webos|Android) [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=302]
发布于 2014-09-10 19:11:08
你的规则是这样的:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -MultiViews
RewriteEngine On
# force desktop version for mobile agents
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\ mobile|palmos|webos|Android) [NC]
RewriteRule ^(.*)$ http://www.example.com/$1?force=desktop [R=302,L,NE,QSA]
RewriteCond %{QUERY_STRING} !force=desktop
RewriteCond %{HTTP_USER_AGENT} (android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera\ mobile|palmos|webos) [NC]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/styles
RewriteRule ^(.*)$ http://mob.example.com/$1 [L,P]
</IfModule>https://stackoverflow.com/questions/25763591
复制相似问题