0

我有一个 .htaccess 文件,其中包含以下内容:

RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302]

一切都很好,从手机查看时效果很好 - 它检测并直接进入移动站点所在的子文件夹。但我想弄清楚的是如何在移动网站底部有一个链接,允许用户查看桌面版本。当他们在桌面版本上时,我希望他们能够回到移动设备上......

谁能帮我???

4

3 回答 3

0

至于“查看桌面版”链接,应该只是移动端的HTML修改吧?

但是,为了在用户选择该选项后让他们留在桌面站点上,您需要实现一种方法来跟踪他们的客户端偏好,例如 cookie。下面是一些关于在重写规则中添加基于 cookie 的条件的信息:How to do htaccess redirect based on cookie value

于 2012-06-12T15:26:47.067 回答
0

是的,使用 cookie。您可以使用 [CO] 标志设置它们,并通过 %{HTTP_COOKIE} 条件询问它们,例如将 cond 添加到规则

  RewriteCond %{HTTP_COOKIE} !force_desktop

并检测(未)设置的 URI 以清除/设置 cookie。

于 2012-06-12T15:31:25.387 回答
0

我不会使用 cookie,因为这对于首次访问者或 cookie 设置为禁用的用户可能无法正常工作。我会添加一个预定义的 GET 参数,强制网站转到非移动版本。

一个示例:如果您的域是 www.fancysite.com,则可能是 www.fancysite.com/nomobile。对于“nomobile” URL,您在 .htaccess 中定义自动转发。将此重写规则使用 [L] 条件,以便忽略其他条件。如果“nomobile”字符串不存在,您的(已经工作的)用户代理检测就会启动,并且用户会到达移动站点。

请参阅这些以获取一些详细信息(尤其是在“条件”下):

http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/

http://www.cheatography.com/davechild/cheat-sheets/mod-rewrite/

于 2012-06-12T15:38:00.677 回答