Django - 重定向到带有 www 的版本

12
在Django中是否有一种简单的方法,可以将没有www的域名重定向到带有www的版本? 我的意思是从http:// example.com重定向到http:// www.example.com。
3个回答

16

正如@adamp在另一个回答中提到的那样,这实际上非常容易出错,不是很推荐使用:http://stackoverflow.com/questions/41792064/ - igorsantos07

11

文档所述:

如果PREPEND_WWW为True,则缺少前缀“www.”的URL将被重定向到相同的URL,但带有前缀“www.”。

PREPEND_WWW默认设置为False。您可以在设置中将其更改为True。

PREPEND_WWW = True
为使此功能正常工作,您必须在您的中间件中包含 CommonMiddleware
MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
)

3
起初看起来这是一个不错的解决方案,但我很快发现了PREPEND_WWW的各种限制,并采用了服务器层面的解决方案。http://stackoverflow.com/questions/41792064/django-disable-prepend-www-when-using-ip-address-instead-of-domain-name - pythonjsgeo
这应该是被接受的答案。如果您没有设置CommonMiddleware,将不会发生任何事情。 - Jurrian

1

您也可以通过正确的DNS配置跳过前缀。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接