我正在尝试根据网站查看者的选择设置条件缓存重定向。
以下是我希望如何使用网站功能的示例(您可以通过访问vonage.com进行测试):
当我访问www.vonage.com时,我可以选择“个人,小型企业,中型市场和企业”。
做出选择后,您将被发送到关联的网站/子域名--vonage.com,personal.vonage.com或enterprise.vonage.com。
然后,如果您尝试返回带有选项的初始页面,您将无法重新定向到您已经做出的选择。
这是怎么做到的?我想实现类似的东西。我顺便使用Wordpress,但这可能无关紧要,我可以在代码或.htaccess中弄脏。
答案 0 :(得分:0)
可能有更好的方法,这只是java脚本而不是php,但cookie应该可以解决问题。
页面加载检查cookie是否存在,是否重定向,如果不存在,则检查:
if (document.cookie.indexOf("home") >= 0) {
// redirect them to home
}
else if (document.cookie.indexOf("business") >= 0) {
// redirect them to business
}
else if (document.cookie.indexOf("enterprise") >= 0) {
// redirect them to enterprise
}
如果这些都没有触发,并且用户在选择设置其Cookie的选项时未被重定向,例如:
// set a new cookie
expiry = new Date();
expiry.setTime(date.getTime()+(10*60*1000)); // Ten minutes
// Date()'s toGMTSting() method will format the date correctly for a cookie
document.cookie = "business; expires=" + expiry.toGMTString();
答案 1 :(得分:0)
(function(href, referrer) {
var enterprise = "http://enterprise.mysite.com"
var personal = "http://personal.mysite.com"
var is_enterprise = new RegExp(enterprise).test(href)
var is_personal = new RegExp(personal).test(href)
var cache = readCookie('portal')
if (cache) return location.href = cache
var portal = is_enterprise || is_personal
if (portal) document.cookie = "portal=" + (enterprise || personal) + "; expires=Fri, 31 Dec 9999 23:59:59 GMT";
return null
})(location.href, document.referrer)
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}