好了,我想所有非WWW域名请求重定向www.mydomain.com只是为谷歌/搜索引擎的一致性(我知道所有关于规范标签/谷歌网站管理员工具,让我们忽略)重定向Rails非www到www而不会中断用户会话?
我知道标准方式通过Nginx(或Apache的htaccess)来完成。
但是,事情是这可能会破坏用户会话吗?例如,如果有人通过domain.com登录,他们的cookies只会对domain.com有效,而不是www.domain.com,所以通过重定向我会让所有用户都必须重新登录。
有没有办法让重定向w/o中断用户会话?
也许我可以做一些事情,我检查cookie?如果它不存在,那么做重定向。如果是这样,那么不要重定向。
def index #controller method for requests from domain.com or www.domain.com
@user = @requestManager.authorizedUser(cookies, params, logger) //check for cookies
#if no cookies (Google bot or new visitor)
#and request is from domain.com, redirect to www.domain.com
if(@user == nil and request.host =~ /^domain.com/)
logger.info("Redirecting")
redirect_to "http://www.domain.com", :status => 301
return
end
end
将这项工作重定向非www会www.domain.com,并没有破坏当前用户会话?
如果您将访问www.example.com的实例重定向到example.com,则他们将始终登录到example.com。 – 2012-04-19 01:20:25
@JesseWolgamott,但我想要相反... – 2012-04-19 04:12:11
反过来也是如此 – 2012-04-19 11:23:41