わかりました。Google/検索エンジンの一貫性を保つために、www以外のすべてのドメインリクエストをwww.mydomain.comにリダイレクトしたいと思います(正規のタグ/ googleウェブマスターツールについてはすべて知っているので、無視しましょう)
Nginx(またはApacheの場合はhtaccess)を介してこれを行う標準的な方法を知っています。
ただし、これによりユーザーセッションが中断される可能性があります。たとえば、誰かがdomain.comからログインした場合、そのCookieは、www.domain.comではなく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にリダイレクトし、現在のユーザーセッションを中断しないようにするために機能しますか?