301在Django内重定向到www子域

2024-05-16 11:11:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python/Django应用程序中使用DNSimple和Heroku,但是无论有没有“www”,都会转到这个站点,基本上给了我两个不同的重复站点。我应该在我的应用程序中做一个重定向表单来解决这个问题。如何在Django中创建从no“www”到“www”的301重定向?在


Tags: djangono应用程序表单heroku站点www重定向
1条回答
网友
1楼 · 发布于 2024-05-16 11:11:00

只需返回一个重定向情况,请求是针对裸域发出的。在

if not request.META.get('HTTP_HOST', '').startswith('www'):
    return HttpResponseRedirect(
               'http://www.example.com/' + request.get_full_path()
           )

如果使用基于类的视图,则可以将其设为修饰符或将其放在基类上,但如果在web服务器级别处理此重定向,则性能会更好。在

您使用的是PaaS提供商,这是一个常见的用例,他们都有,请咨询他们的帮助台。在

使用mod_rewrite实现此功能的方法有点偏离主题,因为它与编程无关;应该在虚拟主机配置中放置以下内容:

^{pr2}$

相关问题 更多 >