问题描述
我目前在Bluehost上拥有一个网站域。
Bluehost无法使用301重定向将https://example.com重定向到https://www.example.com,因为我没有托管它们。现在,在我的DNS设置中,我有一个CNAME (Alias)
记录,指向 @ 指向<string1>.herokudns.com
,还有另一个CNAME (Alias)
,它指向 www 到<string2>.herokudns.com
。请注意,我有SSL证书,并且都在HTTPS上。
我已经联系了Bluehost,他们说一种解决方案是将 www 和 @ 都指向<string1>.herokudns.com
,但这似乎并不是重定向到我。
如何在Python的Heroku中设法将裸域重定向到 www ?由于Bluehost TTL是4个小时,因此我无法对其进行大量测试,而且无法快速更改配置。
提前感谢您的帮助!
解决方法
所以我可以点击此链接:
https://adamj.eu/tech/2020/03/02/how-to-make-django-redirect-www-to-your-bare-domain/
我像这样自定义了
from django.http import HttpResponsePermanentRedirect
class WwwRedirectMiddleware:
def __init__(self,get_response):
self.get_response = get_response
def __call__(self,request):
host = request.get_host().partition(':')[0]
if host == "example.com":
return HttpResponsePermanentRedirect(
"https://www.example.com" + request.path
)
else:
return self.get_response(request)
我已经对其进行了测试,并且目前可以使用!我仍然感谢您对此方法的任何反馈!