我希望正确设置我的urls,避免像下面这样做,因为它会损害我的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个url,并且像这样做每个url重定向都是有问题的,因为结构在增长。
我没有在Django站点上使用Apache,所以不能重写规则。(我在pythonanywhere (网络服务器: Gunicorn))
在同一视图中重定向所有类型的别名,而不影响我的谷歌搜索指数化,并避免将每个具有相同视图的url输入到urls.py的最佳方法是什么?
发布于 2017-04-12 15:02:15
最好的方法是使用django重定向应用程序https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/,您可以轻松地管理从admin到此的重定向。
发布于 2018-04-25 10:38:18
另一种解决尾随斜杠问题的方法是在regex中使用?标志。
url(r'^virtual-reality/?$', views.virtualreality, name="virtual-reality"),
url(r'^vr/?$', views.virtualreality, name="virtual-reality"),如果使用CommonMiddleware,它会添加尾随斜杠并返回它的视图(如果没有尾随斜杠的版本在任何urlpattern中都找不到)。它可以在文献资料中看到。
发布于 2021-01-08 13:26:31
urls.py毕竟是Python
只需编写一个合适的数据结构,该结构可以捕获所需的内容,并使用一个循环来生成包含从中获得的url()调用的列表。
https://stackoverflow.com/questions/43372938
复制相似问题