好了,我想所有非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