2011-01-18 14 views
5

セッションは、テストした他のすべてのブラウザで完全に機能します。Internet ExplorerでDjangoセッションが動作しない

私はsessionid = request.COOKIES['sessionid']とのセッションIDを取得しようとすると、私はこのエラーを取得:KeyError: 'sessionid'

は、これは私が私のsettings.pyに持っているものです。

CACHE_BACKEND = 'memcached://127.0.0.1:11211/' 
SESSION_COOKIE_DOMAIN = '.vb.is' 
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' 

サイトがvb.isあり、fiskifrettir .vb.isと

alt text

Serverのセットアップをhestabladid.vb.isは次のとおりです。apache2の(mod_wsgiを)とnginxの

+0

そのブラウザでCookieが有効になっていますか? –

+0

はい、誰もIEでログインできません。 – demux

+0

これを実行してください:print request.session.session_key。そして、sessionidが定義されているかどうかを見てください。 – zsong

答えて

4

XX.XXでクッキーを設定することは一般的には機能しません。 Q#6はこちらhttp://blogs.msdn.com/b/ieinternals/archive/2009/08/20/wininet-ie-cookie-internals-faq.aspxhttp://blogs.msdn.com/b/ieinternals/archive/2009/09/19/private-domain-names-and-public-suffixes-in-internet-explorer.aspxを参照してください。

代わりにdomain = WWW.vb.isを使用してCookieを設定することで、問題を回避できます。

+0

私は、サイトが ".co.uk"のクッキーを設定しないようにします。好きです。 –

+0

www.vb.isのクッキーを設定すると、私の現在の設定が機能するためにsecure.vb.isからそのクッキーにアクセスする必要があるので、役に立たないでしょう。あなたが言っているのは、私はクロスドメイン永続セッションを持つことができないということです。 – demux

関連する問題