我的PHP 5.3服务器使用use_only_cookies dans处理会话而没有use_trans_id,会话文件保存在专用目录中。
当Googlebot或Google Search Appliance僵尸程序或任何其他非Cookie支持的浏览器抓取网站时,会为每个请求的页面创建不同的会话文件。我担心这些文件会毫无用处地使用大量空间磁盘。
是否可以为某些用户代理或不使用cookie的浏览器禁用会话文件?我不想用trans_id功能替换会话,因为它可能有SEO缺点。
是否有Apache / PHP指令,设置或任何其他技巧可以产生以下行为:
答案 0 :(得分:1)
当然,您可以检查$_SERVER['HTTP_USER_AGENT']
的内容并检查已知的机器人。如果它是一个僵尸程序,那么就不要调用session_start()
(尽管如果你的逻辑依赖于代码中的$_SESSION
变量,也可能会产生不良影响。)
答案 1 :(得分:1)
if (strpos($_SERVER[‘HTTP_USER_AGENT’],"Googlebot") === false) {
session_start();
}
但我不确定它是否值得。会话GC非常有效,如果有人将用户代理覆盖到googlebot,他将没有会话