Могу ли я удалить ведущие нули в URL в Django? - PullRequest
1 голос
/ 03 декабря 2009

Я перенаправляю URL-адреса с устаревшего сайта, что приводит меня к URL-адресу, подобному следующему:

http://example.com/blog/01/detail

Я хотел бы автоматически удалить начальные нули из этих URL (кажется, не имеет значения, сколько там нулей 001 0001 000001 работают), чтобы страница перенаправляла чтобы:

http://example.com/blog/1/detail

Есть ли простой способ сделать это в Django? (Или через перенаправление .htaccess?)

URL-код:

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 ]

3 голосов
/ 03 декабря 2009

Вы можете исправить это, отредактировав регулярное выражение urls.py или регулярное выражение .htaccess:

В Джанго

'^blog/0*(?P<object_id>\d+)/detail$'

В .htaccess

RewriteRule ^blog-0*([0-9]+) http://example.com/blog/$1 [R=301]
1 голос
/ 03 декабря 2009

Возможно

url(u'^blog/0*(?P<object_id>\d+)/detail$', 
    list_detail.object_detail,
    { 'queryset' : Blog.objects.all(), },
    name='blog_detail',)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...