可以在Django中去除URL中的前导零吗?
我正在将一个旧网站的链接进行重定向,这样我得到了一个像这样的链接:
http://example.com/blog/01/detail
我想要自动去掉这些链接前面的零(无论前面有多少个零都没关系,比如 001
、0001
、000001
都可以)这样页面就能重定向到:
http://example.com/blog/1/detail
在django中有没有简单的方法可以做到这一点?(或者通过 .htaccess
重定向?)
链接代码:
url(u'^blog/(?P<object_id>\d+)/detail$',
list_detail.object_detail,
{ 'queryset' : Blog.objects.all(), },
name='blog_detail',)
.htaccess(正在重定向):
RewriteRule ^blog-([0-9]+) http://example.com/blog/$1 [R=301]
我需要一些中间件,还是说在 urls.py
文件中有简单的方法可以做到这一点?
2 个回答
1
也许
url(u'^blog/0*(?P<object_id>\d+)/detail$',
list_detail.object_detail,
{ 'queryset' : Blog.objects.all(), },
name='blog_detail',)
3
你可以通过修改urls.py里的正则表达式或者.htaccess里的正则表达式来解决这个问题:
在Django中
'^blog/0*(?P<object_id>\d+)/detail$'
在.htaccess中
RewriteRule ^blog-0*([0-9]+) http://example.com/blog/$1 [R=301]