Django sitemap索引分页URL格式

时间:2014-05-07 00:38:00

标签: regex django sitemap

我为我的Django网站创建了一个sitemap index,因为我有超过50k的网址。 Django说它会自动为我分页,但我无法访问URL中的结果。

相关代码:

#urls.py
...
sitemaps = {
    'state': StateSitemap,
    'school': SchoolSitemap,
}

urlpatterns = patterns('',
    ....    
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
    url(r'^sitemap-(?P<section>.+).xml$','django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
)

“州”的站点地图工作正常:

  • www.example.com/sitemap-state.xml

但是对于有100k +条目的学校,因此应该由Django自动分页,以下所有404:

  • www.example.com/sitemap-school.xml
  • www.example.com/sitemap-school1.xml
  • www.example.com/sitemap-school/1.xml

我知道我误解了“。+”如何作为站点地图索引网址的一部分,但我很难过。

我应该使用哪个网址来查看我网址中“school”的分页站点地图结果?

1 个答案:

答案 0 :(得分:1)

您在网址中遗漏了\

url(r'^sitemap-(?P<section>.+).xml$','django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),

应该是

url(r'^sitemap-(?P<section>.+)\.xml$','django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),