我想正确设置我的网址,避免像下面的示例那样做,因为它会影响我的Google索引编制:
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个网址,并且每次网址重定向都是有问题的,因为结构会增长。
我不在我的Django网站上使用Apache,因此无法进行重写规则。 (我在pythonanywhere(网络服务器:Gunicorn))
在不影响我的Google搜索索引编制的情况下,在同一视图中重定向所有类型的别名的最佳方法是什么,并避免输入与urls.py具有相同视图的每个网址?
答案 0 :(得分:2)
最好的方法是使用django重定向应用https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/,您可以轻松地管理来自管理员的重定向。
答案 1 :(得分:1)
解决斜杠问题的另一种方法是在正则表达式中使用?
标志。
url(r'^virtual-reality/?$', views.virtualreality, name="virtual-reality"),
url(r'^vr/?$', views.virtualreality, name="virtual-reality"),
如果使用CommonMiddleware,它会添加尾部斜杠并使用它返回视图(如果在任何urlpattern中找不到没有尾部斜杠的版本)。它可以在the documentation中找到。
答案 2 :(得分:0)
urls.py
毕竟是 Python 只要写一个合适的数据结构就可以捕获你想要的
并使用循环生成包含 url()
调用的列表。