.htaccess 移动重定向到子文件夹和桌面视图按钮



我有一个.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]

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

谁能帮我???

至于"查看桌面版本"链接,那应该只是移动网站上的HTML修改,是吧?

但是,为了在用户

选择选项后将用户留在桌面站点上,您需要实现一种方法来跟踪他们的客户端首选项,例如cookie。下面是有关将基于 cookie 的条件添加到重写规则的一些信息:如何根据 cookie 值执行 htaccess 重定向

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

  RewriteCond %{HTTP_COOKIE} !force_desktop

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

我不会使用 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/

最新更新