Google抱怨我的站点地图中的网址重定向为301。
我正在使用GenericSitemap,我的APPEND_SLASH设置是默认的(打开)。因此我的网址重定向,所以它们以斜杠结束,这就是我喜欢它的方式。但是,默认的django站点地图(django.contrib.sitemaps)不会将这些尾部斜杠放在它生成的URL上。
我认为我已经正确地遵循了所有文档,并且无法在Google上找到任何答案 - 任何想法?
答案 0 :(得分:2)
根据source code of django.contrib.sitemaps,get_absolute_url
用于构建站点地图,因此最好的方法可能是开始按模型转换您的网址模型。但是,如果它导致您遇到太多问题,您可以同时将GenericSiteMap子类化为向所有URL添加斜杠而不使用尾部斜杠:
class SlashedGenericSitemap(GenericSitemap):
def location(self, obj):
url = obj.get_absolute_url()
return url if len(url)>0 and url[-1]=='/' else url + '/'
当然,使用它而不是GenericSiteMap。