This is a simple middleware that redirects the exactly URL requested with the correct domain. It is useful when you have more than one domain (most of cases with "www." or IP) to access a website.
To make it works, download the snippet file as the name "permanent_redirect.py" and add its path as the first item in MIDDLEWARE_CLASSES setting in settings.py.
Later you must inform a setting called
HTTP_HOST_DOMAIN with the correct domain.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
from django.conf import settings from django.http import HttpResponsePermanentRedirect class PermanentRedirectMiddleware(object): def process_request(self, request): if hasattr(settings, 'HTTP_HOST_DOMAIN') and\ 'HTTP_HOST' in request.META and \ request.META['HTTP_HOST'] != settings.HTTP_HOST_DOMAIN: return HttpResponsePermanentRedirect("http%s://%s%s"%( request.is_secure() and 's' or '', settings.HTTP_HOST_DOMAIN, request.get_full_path(), ) )
More like this
- Stuff by NixonDash 1 month ago
- Add custom fields to the built-in Group model by jmoppel 3 months, 1 week ago
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 6 months, 3 weeks ago
- Python Django CRUD Example Tutorial by tuts_station 7 months, 1 week ago
- Browser-native date input field by kytta 8 months, 3 weeks ago
Here is something better for you which even works with http/https:
Fixed with mk good ideas :)
Please login first before commenting.