我正在使用PHP会话。我使用session_start()设置会话并设置一些会话变量。然后,我使用那些会话变量。
现在,我说我在浏览器中打开了一个页面(http://example.com)并启动了PHP会话。如果我在新标签页(http://www.example.com中打开另一个页面,请注意网址中的www),第一个会话就会消失。
避免这种情况的解决办法是什么?
答案 0 :(得分:2)
您的会话ID存储在Cookie中; Cookie仅对特定域有效。要强行解决此问题,您需要使用session_set_cookie_params
(session_start
之前)以确保Cookie对您感兴趣的所有子域都有效($domain
参数控制此项)。< / p>
但是,更好的方法是在Web服务器级别设置从其中一个域到另一个域的永久重定向;如果您有一个公共网站并且您完全关心您的搜索引擎评级,那么命令式无论如何都要这样做。
答案 1 :(得分:1)
实际上你应该做什么,除非你有非常好的理由不这样做,就是只使用一个网址。据我所知,使用不同的URL来访问相同的内容并不像浏览器引擎那样认为它是重复内容的SEO非常友好。
您应该将其配置为始终使用www或根本不使用它。使用.htaccess
文件相当容易。