首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何管理Django urls别名重定向?

如何管理Django urls别名重定向?
EN

Stack Overflow用户
提问于 2017-04-12 14:49:26
回答 3查看 2.5K关注 0票数 2

我希望正确设置我的urls,避免像下面这样做,因为它会损害我的Google指数化:

urls.py (错误方式) :

代码语言:javascript
复制
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/vrvirtual-reality/virtual-reality重定向到同一个页面。我在我的网站上有超过30个url,并且像这样做每个url重定向都是有问题的,因为结构在增长。

我没有在Django站点上使用Apache,所以不能重写规则。(我在pythonanywhere (网络服务器: Gunicorn))

在同一视图中重定向所有类型的别名,而不影响我的谷歌搜索指数化,并避免将每个具有相同视图的url输入到urls.py的最佳方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-12 15:02:15

最好的方法是使用django重定向应用程序https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/,您可以轻松地管理从admin到此的重定向。

票数 3
EN

Stack Overflow用户

发布于 2018-04-25 10:38:18

另一种解决尾随斜杠问题的方法是在regex中使用?标志。

代码语言:javascript
复制
url(r'^virtual-reality/?$', views.virtualreality, name="virtual-reality"),
url(r'^vr/?$', views.virtualreality, name="virtual-reality"),

如果使用CommonMiddleware,它会添加尾随斜杠并返回它的视图(如果没有尾随斜杠的版本在任何urlpattern中都找不到)。它可以在文献资料中看到。

票数 2
EN

Stack Overflow用户

发布于 2021-01-08 13:26:31

urls.py毕竟是Python

只需编写一个合适的数据结构,该结构可以捕获所需的内容,并使用一个循环来生成包含从中获得的url()调用的列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43372938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档