自定义重定向

时间:2013-11-01 12:08:17

标签: php jquery redirect cookies

我有主文件夹mysite.com/和已复制的文件夹,例如mysite.com/10010/,mysite.com/10011/等。 到目前为止,我完成了使用Jquery Cookie插件删除/设置cookie并根据设置的cookie重定向。

要删除/设置我正在使用以下代码的Cookie:

var cookies = $.cookie();
for(var cookie in cookies) {
$.removeCookie(cookie);
}
$.cookie('10010', '10010', { expires: 30, path: '/' })

重定向我正在使用以下代码:

$(function() {
if ($.cookie('10010')){ window.location.href = 'http://www.mysite.com/10010';}
else if ($.cookie('10011')) {window.location.href = 'http://mysite.com/10011';}
});

我的问题是: 例如,如果用户访问了特定页面,例如mysite.com/10010/page1.html,即使下次他在浏览器中输入mysite.com/page1.html,他也会被重定向到mywebsite.com/10010/。我需要将用户重定向到mysite.com/10010/page1.html。 我在每个已复制的文件夹中都有100个已复制的文件夹和100个页面 - 因此很难为每个页面设置单个cookie并重定向。

调整代码的正确方法是什么?请注意,我是编码的新手。到目前为止我已经尝试过了:

$(function() {
if ($.cookie('10010')){ window.location.href = 'http://www.mysite.com/10010'+ "/.html";}
else if ($.cookie('10011')) {window.location.href = 'http://mysite.com/10011'+ "/.html";}
});

在“+”之后几乎没有变化,但似乎都没有。

是否有更简单的方法,而不是为每个页面设置Cookie和重定向?

1 个答案:

答案 0 :(得分:0)

当您尝试此操作时,如何检测您当前所在的页面?我会使用类似的东西:

   var temp = window.location.href.split('/');

我注意到的一件事是

   window.location.href = 'http://www.mysite.com/10010'+ "/.html";

你正在使用'那么你正在使用',我认为这是不好的做法。此外,在那里有一个空格可能会搞砸变量设置。尝试类似:

   window.location.href = 'http://www.mysite.com/10010'+'/.html';

当您重定向时,它就像http://www.mysite.com/10010/.html一样重定向,除非您通过我的.split示例检测到您所在的页面并执行以下操作:

   window.location.href = 'http://www.mysite.com/10010/'+temp[4];

这就是想法......

   temp[0]=http:
   temp[1]=""
   temp[2]=www.mysite.com
   temp[3]=10010
   temp[4]=page1.html