diff --git a/common/djangoapps/util/cache.py b/common/djangoapps/util/cache.py index 85b8ed3369..89b5dffd5e 100644 --- a/common/djangoapps/util/cache.py +++ b/common/djangoapps/util/cache.py @@ -9,6 +9,7 @@ from functools import wraps from django.core import cache + # If we can't find a 'general' CACHE defined in settings.py, we simply fall back # to returning the default cache. This will happen with dev machines. try: @@ -41,7 +42,10 @@ def cache_if_anonymous(view_func): def _decorated(request, *args, **kwargs): if not request.user.is_authenticated(): #Use the cache - cache_key = "cache_if_anonymous." + request.path + # same view accessed through different domain names may + # return different things, so include the domain name in the key. + domain = str(request.META.get('HTTP_HOST')) + '.' + cache_key = domain + "cache_if_anonymous." + request.path response = cache.get(cache_key) if not response: response = view_func(request, *args, **kwargs)