from django.contrib.sites.models import Site from django.http import HttpResponsePermanentRedirect from django.conf import settings class SiteRedirectMiddleware(object): def process_request(self, request): host = request.get_host() site = Site.objects.get_current() if site.domain in host: return None return HttpResponsePermanentRedirect('%s://%s%s' % ( request.is_secure() and 'https' or 'http', site.domain, request.get_full_path(), ))