cookie失效问题,疑与伪静态有关

时间:2022-01-21 01:40:14
网站用的二级域名,如bbs.csdn.net
需要登录,登录成功则
之前一直是
setcookie("loginstatus",1,$expire,"/");正常
昨天出现问题后改为
setcookie("loginstatus",1,$expire,"/",".csdn.com");
伪静态规则:RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L]
在根目录下有文件a.php,内容为
echo $_COOKIE["loginstatus"];
如果直接访问a.php可以正常输出1
但是如果访问news_1.html,则为空了。
所以在这里就觉得是伪静态出了问题,请问朋友有没有遇到过这样的事,该如何解决呢?
之前一直是好好的,昨天突然出现的这问题,一直在改啊,好几个小时了都没解决。


5 个解决方案

#1


应该不是!
不可能
昨天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 是好的
今天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 就不行了

期间你还做了什么事情?

#2


引用 1 楼 xuzuning 的回复:
应该不是!
不可能
昨天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 是好的
今天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 就不行了

期间你还做了什么事情?

真没做什么,是突然有网友说出现问题我去看,才这样的。
而且
RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L]
http://www.test.com/news_1.html 获取不到$_COOKIE["loginstatus"];

但是改成
RewriteRule ^(news)_([1-9]\d*) a.php?file=$1&id=$2 [L]
http://www.test.com/news_1 就可以获取到$_COOKIE["loginstatus"];

#3


@xuzuning  老大,我这个问题一直没解决,纠结得心疼啊

#4


那你认为是因为后缀是 htm 才不能传递 cookie 的吗?

有网友说出现问题?
他能看到你的源码吗?

#5


引用 4 楼 xuzuning 的回复:
那你认为是因为后缀是 htm 才不能传递 cookie 的吗?

有网友说出现问题?
他能看到你的源码吗?


不能看到源码,只是因为登录的问题没有获取到cookie自动回到登录页,所以我检查发现这个问题的。

RewriteRule ^([1-9]\d*).html($) tpl/detail.php?id=$1


http://www.a.com/1131.html 这样访问就不能获取
但是
http://www.a.com/1131.html ? 这样访问也可以
http://www.a.com/1131.html ?a 这样访问也可以(在1131后加任何都可以)
如果改一下规则下面这样访问也可以
http://www.a.com/1131 这样访问就可以
就是.html结尾或.htm或其他的不行

#1


应该不是!
不可能
昨天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 是好的
今天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 就不行了

期间你还做了什么事情?

#2


引用 1 楼 xuzuning 的回复:
应该不是!
不可能
昨天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 是好的
今天 RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L] 就不行了

期间你还做了什么事情?

真没做什么,是突然有网友说出现问题我去看,才这样的。
而且
RewriteRule ^(news)_([1-9]\d*).html a.php?file=$1&id=$2 [L]
http://www.test.com/news_1.html 获取不到$_COOKIE["loginstatus"];

但是改成
RewriteRule ^(news)_([1-9]\d*) a.php?file=$1&id=$2 [L]
http://www.test.com/news_1 就可以获取到$_COOKIE["loginstatus"];

#3


@xuzuning  老大,我这个问题一直没解决,纠结得心疼啊

#4


那你认为是因为后缀是 htm 才不能传递 cookie 的吗?

有网友说出现问题?
他能看到你的源码吗?

#5


引用 4 楼 xuzuning 的回复:
那你认为是因为后缀是 htm 才不能传递 cookie 的吗?

有网友说出现问题?
他能看到你的源码吗?


不能看到源码,只是因为登录的问题没有获取到cookie自动回到登录页,所以我检查发现这个问题的。

RewriteRule ^([1-9]\d*).html($) tpl/detail.php?id=$1


http://www.a.com/1131.html 这样访问就不能获取
但是
http://www.a.com/1131.html ? 这样访问也可以
http://www.a.com/1131.html ?a 这样访问也可以(在1131后加任何都可以)
如果改一下规则下面这样访问也可以
http://www.a.com/1131 这样访问就可以
就是.html结尾或.htm或其他的不行