Gem 怎样把 Devise 应用在非 www 的域名?

frankel · 2012年10月12日 · 最后由 chunlea 回复于 2012年10月12日 · 2532 次阅读

例如http://example.com这样的域名

http://example.com 是可以访问了,现在通过 www.example.com 成功登录后,再打开 http://example.com ,还是显示未登录状态。我希望在任意一个 domain 登录成功后,在两个 domain 下都能被认为已登录。

跟 Devise 有关系吗?不应该是 Rails 应用部署的问题吗?好像叫域名泛解析吧。Dnspod 上是设置@.domain.name指向需要的 ip,具体也忘了,你搜搜看。应该跟 devise 没什么关系

#1 楼 @chunlea 多谢回复。是我没说清楚。

http://example.com 是可以访问了,现在通过 www.example.com 成功登录后,再打开 http://example.com ,还是显示未登录状态。我希望在任意一个 domain 登录成功后,在两个 domain 下都能被认为已登录。

在 DNS 设置中将 www.example.com 用 CNAME 指给 example.com

/config/initializers/session_store.rb 中 session_store 指定 domain 就可以了。 指定成 example.com

#4 楼 @404 这是正解,不过最好是在 nginx 上将无 www 的 301 到 www 的域名

好吧,我理解错了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号