我有一个移动网站和一个桌面网站。我为移动用户访问桌面网站设置了自动重定向功能。但不幸的是,如果他们愿意,我也需要他们访问整个网站。
我在.htaccess文件中设置了一个cookie,如何检查cookie是否已设置,以便他们可以访问整个站点?没有找到明确的答案。
代码:
#redirect
RewriteCond %{HTTP_HOST} !^m\.stage.sunjournal\.com$
RewriteCond %{HTTP_USER_AGENT} "android|iPhone|blackberry|ipad|iemobile|operamobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ http://m.stage.sunjournal.com/$1 [L,R=302,CO=mobile:yes:m.stage.sunjournal.com:0:/]
答案 0 :(得分:0)
为您的规则添加此类重写条件:
RewriteCond %{HTTP_COOKIE} mobile=yes
如果存在名称为mobile
且值为yes
的Cookie,则允许执行规则(更确切地说,该模式将匹配结束使用mobile
(例如notmobile
)和开始的值yes
(例如yesSir
)。
如果您需要更精确(仅限完全匹配) - 您必须检查原始cookie的外观并相应地调整模式。但只要您拥有唯一的cookie名称和值,就不需要这样做。
答案 1 :(得分:0)
标记 - 在您提供的参考链接中,cookie被设置为在用户退出会话后自行销毁。这是因为从未指定过cookie的生命周期。有关此内容的更多信息,请转到official documentation for mod_write。
BDUB,我建议你查看Mark提供的链接。我遇到了设置新cookie的问题,因为如果为mobile = 0设置了cookie,我的cookie mobile = 1就没有设置。我在RewriteLogs中看过这个。