Django网站域名发生迁移变更时,如何告知搜索引擎?
这时需要使用301重定向,把通过旧域名URL访问站点的用户引导至新的域名。
301 Moved Permanently是服务器返回的HTTP头信息(header)中的状态码的一种。当用户或搜索引擎向网站服务器发出浏览请求时,返回301状态码代表网页永久性地迁移到了另一个URL。
例如,网站迁移到了新的域名:www.example.com,修改wsgi.py,在尾部添加如下代码:
import django.core.handlers.wsgi
_application = django.core.handlers.wsgi.WSGIHandler()
DOMAIN_NAME = 'www.example.com'
def application(environ, start_response):
if environ['HTTP_HOST'] != DOMAIN_NAME:
location = DOMAIN_NAME + environ['PATH_INFO']
if environ.get('QUERY_STRING'):
location += '?' + environ['QUERY_STRING']
start_response('301 Redirect', [('Location', location),])
return []
return _application(environ, start_response)
使用旧域名访问时,返回结果如下:
Request Method: GET
Status Code: 301 MOVED PERMANENTLY
本文链接:http://bookshadow.com/weblog/2014/04/21/django-301-redirect/
请尊重作者的劳动成果,转载请注明出处!书影博客保留对文章的所有权利。