2017-04-12 56 views
0

我想设置我的网址正确,避免做类似下面,因为它afects我的谷歌指数化例子:如何管理Django的URL别名重定向?

urls.py(错误的方式):

url(r'^virtual-reality/$', views.virtualreality, name="virtual-reality"), 
url(r'^virtual-reality$', views.virtualreality, name="virtual-reality"), 
url(r'^vr/$', views.virtualreality, name="virtual-reality"), 
url(r'^vr$', views.virtualreality, name="virtual-reality"), 

正如你所看到的我想要vr/,vr,virtual-reality/,virtual-reality重定向到同一页面。我的网站上有30多个网址,并且像这样做每个url重定向都是有问题的,因为结构在不断增长。

我不在我的Django站点上使用Apache,因此无法进行重写规则。 (我在pythonanywhere(网络服务器:Gunicorn))

什么是最好的方式来重定向所有类型的别名在同一视图中,而不会影响我的谷歌搜索索引,并避免用相同的视图输入每个url urls.py ?

+2

请注意,您可以在末尾不加斜杠而改为使用['APPEND_SLASH'](https://docs.djangoproject.com/en/stable/ref/settings/#append-slash)。 – knbk

回答

2

最好的方法是使用django重定向应用程序https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/你可以使用它轻松管理来自admin的重定向。

+0

是否有任何中间件的订单,因为我刚刚尝试过,当我尝试通过管理面板重定向前:'/ vr /'到'/ virtual-reality /' – Lindow

+0

我无法正常工作第一个中间件,它工作得很好。请注意APPEND_SLASH设置。 –

+0

迄今为止最好的解决方案 – Lindow