Django别名将错误的网址重定向到正确的网址

时间:2017-04-04 21:26:12

标签: python django redirect

这个问题可能已被问过多次,但我找不到一些关于这个问题的事情。我的网站有问题谷歌搜索的一个子网址重定向到了错误的页面。

以下是网址:

www.example.com/login/user/ #wrong url

www.example.com/accounts/login/ #correct url

urls.py : url(r'^accounts/login/$', auth_views.login, name='login'),

如果用户访问错误的网址,我希望将用户重定向到正确的网址。我知道可以使用redirect(reverse('...'))对视图进行此操作,但仅仅为此目的而做这听起来并不是最好的方法。

当用户仅使用urls.py将错误的网址输入到另一个网址时,是否有办法重定向用户?

3 个答案:

答案 0 :(得分:1)

您通常会在网络服务器上执行此操作,例如: Apache的

RewriteRule /login/user/ /accounts/login/ [R=301,L]

这样您就不需要加载Django来进行静态重定向(随着网站设计的发展,您可能会建立更长的列表)。

答案 1 :(得分:0)

一种解决方案是使用RedirectView内的urls.py,如docs

中所示

所以,例如:

url(r'^login/user$', RedirectView.as_view(pattern_name='login')),

答案 2 :(得分:0)

urls.py,您可以添加:

url(r'^login/user/$', auth_views.login, name='login')

您似乎意识到了这一点。我不理解你的问题吗?