在Django 1.4.12中,我有一个Sitemap类:
class MySitemap(Sitemap):
def items(self):
return ['/my/url1/',
'/my/url2/',]
def location(self, obj):
return str(obj)
和urls.py
sitemaps = {
'global': MySitemap,
}
...
urlpatterns = patterns('',
...
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
但是,我的生成sitemap.xml前面有http://http://
,例如:
...
<url><loc>http://http://mywebsite.com/my/url1</loc></url>
...
是什么导致了这个问题?
答案 0 :(得分:4)
您可能已在http://
对象的域名中包含Site
来自网站框架(django.contrib.sites
)。删除它。
此字段应仅包含实际域名,而不包括协议,因为协议本身可以更改(例如,https://
)。