在我的rails应用程序中,当我登录www.site.com地址时,我已经登录了。虽然没有退出,但我去了网站,http://site.com我已退出,但如果我回去,仍然会登录www.site.com地址。
我在环境变量中找不到任何设置,想知道如何在我的域上的所有域中保持此会话?
答案 0 :(得分:5)
正确设置会话cookie;也就是说,对于.site.com和site.com,而不仅仅是www.site.com。
答案 1 :(得分:2)
为“site.com”设置会话cookie时,会与“www.site.com”不同。您需要将“cookie_domain”指定为“.site.com”,它还将设置cookie或所有子域。在PHP中,您可以使用ini_set或session_set_cookie_params来设置session.cookie_domain。在Rails中,您可以在enviroment.rb中添加一个小脚本 - 类似于:
ActionController::Base.session_options[:session_domain] = '.site.com'
(在这种情况下,您可能会根据生产/测试/开发环境中的域名进行一些切换)或尝试一些other configuration options。
这比你在subject上想知道的更多。
答案 2 :(得分:0)
您应该将www.site.com重定向到site.com(或其他方式)。如果你不这样做,谷歌可能会认为这是两个不同的网站。
答案 3 :(得分:0)
在rails 2.3中,这已更改为:
config.action_controller.session[:domain] = '.example.com'
或者尚未创建会话变量
config.action_controller.session = {:domain => '.example.com'}
答案 4 :(得分:-1)
因为他们别名www。至 。;难道你不能只是在前面加上www。到了。?