Django默认语言重定向

Django默认语言重定向,django,redirect,localization,Django,Redirect,Localization,关于@CauêThenório对这一与i18默认语言相关的有用答案, 当用户转到默认语言页面时,有没有办法添加301重定向 也就是说,如果您的默认应用程序语言为英语,您可以转到: ,创建一个永久重定向到 这特别有助于避免谷歌在我们的网站中检测到重复内容。url.py urlpatterns += url(r'^contact/$', contact, name='contact') urlpatterns += url(r'^en/contact/$', contact_redi

关于@CauêThenório对这一与i18默认语言相关的有用答案, 当用户转到默认语言页面时,有没有办法添加301重定向

也就是说,如果您的默认应用程序语言为英语,您可以转到:

,创建一个永久重定向到


这特别有助于避免谷歌在我们的网站中检测到重复内容。

url.py

urlpatterns += url(r'^contact/$', contact,
        name='contact')
urlpatterns += url(r'^en/contact/$', contact_redirect,
        name='contact_redirect')
def default_language_redirect(request):
    return redirect('contact')

def contact(request):
    #....
视图.py

urlpatterns += url(r'^contact/$', contact,
        name='contact')
urlpatterns += url(r'^en/contact/$', contact_redirect,
        name='contact_redirect')
def default_language_redirect(request):
    return redirect('contact')

def contact(request):
    #....

我将使用重写工具在Web服务器级别执行此操作


如果这不是一个选项,我将创建一个新的,检查是否以
/en/
开头并返回301重定向。

如果您在URL模式中使用国际化,您只需将前缀\u default\u language设置为False:请参阅

此“从默认语言(语言代码)中删除前缀”

默认情况下设置为True。

我终于找到了库和这个中间件解决方案来解决这个问题。谢谢你的支持!