htaccess重写影响PHP会话

时间:2019-02-12 11:01:44

标签: php .htaccess session session-cookies

我正在使用Apache服务器上的PHP开发购物车。简而言之,它的工作方式如下:PHP会话ID用作购物会话的购物车ID。购买完成后,将清除会话ID,并创建一个新的会话ID。

使用这种类型的URL时,它可以按预期工作:

www.xyz.com/category.php?catid=11

现在,当我使用mod Rewrite激活SEO-URL时,会发生一些奇怪的事情

www.xyz.com/c/jeans/women
and
RewriteRule ^c/(.*) /category.php?catid=$1 [QSA]

使用此方法,当我在网站上浏览时,实际的session_id()在3-4个不同的会话ID之间切换。

首先想到的是一些缓存问题或类似问题,但后来我发现了:

www.xyz.com/categories/jeans/women
and
RewriteRule ^categories/(.*) /category.php?catid=$1 [QSA]

这按预期工作! 当使用“类别”而不是“ c”作为标识符时,它会起作用!

我在这里想念什么?我的重写语法错误吗?为什么^ c显然会影响PHP会话处理,而^ categories没有影响?

0 个答案:

没有答案