我正在使用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没有影响?