zencart关于装了静态化插件以后 网址后面出现zenid的情况 网上也说了很多方法 下面我就直接饮用一下 具体的我也都试验过 也都可行
但在网站使用过程中会出现什么问题 这个还有待观察 也许我们自己会慢慢发现 也许是有一天我们的客户发现
下面我就把网上介绍的方法罗列出来 大家看了以后别急 关键是在最后面可以消除大家的疑虑 让追求完美的人放心
1、在后台Configuration->session 将Force Cookie Use 设置为ture; 一般如果网站只是在刚开启的时候存在zenid的话,那么,只要这样设置一下就可以了; 注意:本设置将会强制要求使用cookie,部分客户会因此无法购物,则出 现cookie usage页面,请慎用!
2.修改 includes/functions/html_output.php文件
把$add_session_id = true ,改成$add_session_id = false 这个方法的原理也是强制客户使用cookie 造成的后果也是让有的不支持cookie的客户无法下单 产品添加不到购物车
3. 有人说这是彻底解决的办法 我试过可行 就是在html_output.php里面修改代码,
打开includes\functions\html_output.php文件,第一个函数定义
function zen_href_link($page = ”, $parameters = ”, $connection = ‘NONSSL’, $add_session_id = true, $search_engine_safe = true, $static = false, $use_dir_ws_catalog = true)
这个函数就是输出url地址,其中$add_session_id就是标识是否输出zenid,默认是输出的,所以去掉它最简单的方法就是把这个参数设置为false,这样默认就是不输出了。
至于有人说 这种方法不能彻底解决 第一次打开的时候还是带zenid啊 对于这个问题 我也曾问过高手 这不是zencart的漏洞还是什么的 相反 这是zencart严谨的地方
下面我就给大家解释一下 为什么会有这个zenid 我们要把这个根源搞清楚 消除大家的疑虑
首先zencart程序的客户登陆 浏览信息 包括添加购物车等 所有的内容都是保存在session里面的, 没有session的话,购物车就永远无法添加商品, 也就无法购买.
通常情况下, session的工作是基于浏览器的cookie的.
如果用户禁用cookie, 或者无法使用cookie 比如某些手持设备 手机 掌上电脑设备, 这样就会造成客户无法在你网站下单购买.
那碰到这种情况我们怎么办 难道就注定要失去这个客户吗 呵呵这个时候zencart这个让人头痛的zenid就派上用场了
zenid=xxx? 的方法就是实现基于 url的session , 来解决这个无cookie购物的问题的.也就是在URL网址上模拟一个session出来 这就解决了部分客户无法使用cookie的弊端
好,现在你把它关了, 就是等于向部分潜在顾客关上了大门.
说到这里 各位朋友总算清楚了这个zenid的用途了吧
不过说到这里可能有朋友还有疑问 就是为什么浏览器是支持cookie的 第一次打开的时候 还有zenid呢 然后刷新一下 或者第二次打开就没有了 再清除一下cookie 又出来了 刷新又没了
为什么会这样呢 其实这个问题简单 默认情况下,zencart第一次打开肯定会有的,因为zencart第一次要测试当前浏览器是否支持cookie,
如果支持, 第一次以后的访问就不会带 zenid了.
另: 当搜索引擎的蜘蛛来爬你网站的时候, zenid=XXX 对于搜索引擎是自动屏蔽的,所以无须担心zenid=xxx会造成
页面重复收录,或者收录的url不完美
说到这里 应该大部分人都清楚了 那么接下来 关还是不关 各位朋友自己去权衡了 是订单重要 还是什么重要 大家心里都有个算盘 这里作者不做评论