Often, you may register more than one domain name for your website, which may have a primary domain of mysite.com.au:
- mysite.com
- my-site.com
- mysite.net
- mysite.co.uk
For SEO and brand awareness reasons, (remember: every page should have exactly one URL) you want every visitor to end up on your primary domain, mysite.com.au.
This middleware checks the HTTP_HOST for all incoming requests, and sends the user to http://www.mysite.com.au/ if they've managed to hit another domain.
1 2 3 4 5 6 7 8 9 10 11 12 13 | from django.http import HttpResponseRedirect
class ValidateHostMiddleware(object):
"""
In Apache's httpd.conf, you may have ServerName set to mysite.com.au along
with a number of aliases: mysite.com, mysite.net, my-site.com etc.
This middleware redirects any request that isn't for mysite.com.au to that
domain, helping with SEO and brand recognition.
"""
def process_request(self, request):
if not request.META['HTTP_HOST'].endswith('mysite.com.au'):
return HttpResponseRedirect('http://www.mysite.com.au/')
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 6 months ago
Comments
Please login first before commenting.