【问题标题】:Sharing session with just the "www" subdomain仅与“www”子域共享会话
【发布时间】:2012-04-10 12:03:37
【问题描述】:

我一次又一次地遇到这个问题,当我设置一个新的站点/虚拟主机时,我必须将会话域(或等效的框架)设置为“.example.com”,以便会话可以共享黑白“www.example.com”和“example.com”。

这样做会弄乱我的 staging 和 qa 环境的 cookie(比如 qa.example.com ..etc)。

这有什么解决办法?我应该设置一个重写规则,以便将所有 www.example.com 请求重写为“example.com”还是有其他方法?

我想知道是否有针对此问题的框架/语言特定解决方案,人们在遇到此类问题时会做什么,标准是什么?

【问题讨论】:

  • 从哪里得到 ruby​​-on-rails 标签? :-/
  • 嗯 uDaY.. 就像我说的,框架相当于会话域。我想知道是否有特定于框架的解决方案,因为我大部分时间都在 Rails 中编码。我会对这个解决方案感到满意。
  • 清除 cookie 是否可行? :)
  • @sberry 确实有效 :) ,但通常开发人员会同时查看多个环境,每次我切换到查看暂存到生产时,这真的很烦人,我需要清除我的cookie,只是因为我有一个通用会话域

标签: ruby-on-rails apache subdomain


【解决方案1】:

这有什么解决办法?我应该设置一个重写规则,以便将所有 www.example.com 请求重写为“example.com”还是有其他方法?

与大多数编程问题一样,解决方案不止一种。面对这个确切的问题,我所做的是按照您所说的设置重写规则并使用子目录。它减少了麻烦,但在某些时候您可能需要子域,这完全取决于您的需求。所以,如果你可以使用example.com/qa 而不是qa.example.com,我会去(并且去)它。我用这个:

#Redirect any www. to the page without it. Helps to keep user logged.
RewriteEngine On
rewriteCond %{HTTP_HOST} ^www.example.org [NC]
rewriteRule ^(.*)$ http://example.org/$1 [R=301,L]

我想知道是否有针对此问题的框架/语言特定的解决方案,人们在遇到此类问题时会做什么,标准是什么?

抱歉,我无法在第二部分为您提供帮助,因为我不知道以其他方式执行此操作的任何标准。希望有人能完成答案。

【讨论】:

    猜你喜欢
    • 2011-02-19
    • 2018-06-08
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多