好的,所以我想将所有非www域请求重定向到www.mydomain.com只是为了谷歌/搜索引擎的一致性(我知道所有关于规范标签/谷歌网站管理员工具,让我们忽略它)
我知道通过Nginx(或Apache的htaccess)执行此操作的标准方法。
然而,问题是这可能会扰乱用户会话吗?例如,如果有人通过domain.com登录,他们的cookie只对domain.com有效,而不是www.domain.com,因此通过重定向我会让所有用户都必须重新登录。
有没有办法让重定向不会破坏用户会话?
也许我可以做一些检查饼干的事情?如果它不存在,则执行重定向。如果是,则不要重定向。
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,而不会中断当前的用户会话吗?
答案 0 :(得分:0)
如果未明确设置cookie的域,则将其限制为设置它的站点的主机名。
如果您的用户拥有您真正重视的长期会话,那么这可能会实现您的目标:
会话将丢失的用户是在等待期间未访问该网站的用户。