如何管理 Django urls 别名重定向?
how to manage Django urls alias redirections?
我想正确设置我的 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))
在不影响我的 google 搜索索引的情况下,在同一视图中重定向所有类型的别名并避免输入每个 url 与 urls.py 相同视图的最佳方法是什么?
最好的方法是使用 django 重定向应用程序 https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/ 您可以使用它轻松管理来自管理员的重定向。
解决尾部斜杠问题的另一种方法是在正则表达式中使用 ?
标志。
url(r'^virtual-reality/?$', views.virtualreality, name="virtual-reality"),
url(r'^vr/?$', views.virtualreality, name="virtual-reality"),
如果使用 CommonMiddleware,它会添加尾部斜杠和 return 视图(如果没有尾部斜杠的版本在任何 urlpattern 中都找不到)。可见于the documentation.
urls.py
毕竟是Python
只要写一个合适的数据结构,可以捕获你想要的
并使用循环生成包含 url()
调用的列表。
我想正确设置我的 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))
在不影响我的 google 搜索索引的情况下,在同一视图中重定向所有类型的别名并避免输入每个 url 与 urls.py 相同视图的最佳方法是什么?
最好的方法是使用 django 重定向应用程序 https://docs.djangoproject.com/en/1.10/ref/contrib/redirects/ 您可以使用它轻松管理来自管理员的重定向。
解决尾部斜杠问题的另一种方法是在正则表达式中使用 ?
标志。
url(r'^virtual-reality/?$', views.virtualreality, name="virtual-reality"),
url(r'^vr/?$', views.virtualreality, name="virtual-reality"),
如果使用 CommonMiddleware,它会添加尾部斜杠和 return 视图(如果没有尾部斜杠的版本在任何 urlpattern 中都找不到)。可见于the documentation.
urls.py
毕竟是Python
只要写一个合适的数据结构,可以捕获你想要的
并使用循环生成包含 url()
调用的列表。