+import re
+
from django.contrib.sitemaps import Sitemap
from forum.models import Question
+from forum.settings import QUESTIONS_SITEMAP_LIMIT, QUESTIONS_SITEMAP_CHANGEFREQ
from django.conf import settings
from django.http import HttpResponse, Http404
from django.template import loader
else:
pages = site.paginator.num_pages
sitemap_url = urlresolvers.reverse('sitemap_section_index', kwargs={'section': section})
- sites.append('%s%s' % (settings.APP_URL, sitemap_url))
+
+ # Replace double forward slashes with single ones
+ final_url = '%s%s' % (settings.APP_URL, sitemap_url)
+ final_url = re.sub("/+", "/", final_url)
+ final_url = final_url.replace('http:/', 'http://')
+ final_url = final_url.replace('https:/', 'https://')
+
+ sites.append(final_url)
xml = loader.render_to_string('sitemap_index.xml', {'sitemaps': sites})
return HttpResponse(xml, mimetype='application/xml')
for page in paginator.page_range:
location = urlresolvers.reverse('sitemap_section_page', kwargs={ 'page' : page, 'section' : section })
location = '%s%s' % (settings.APP_URL, location)
+ location = re.sub("/+", "/", location)
+ location = location.replace('http:/', 'http://')
+ location = location.replace('https:/', 'https://')
locations.append(location)
xml = loader.render_to_string('sitemap_section_index.xml', { 'locations' : locations, })
return HttpResponse(xml, mimetype='application/xml')
class OsqaSitemap(Sitemap):
- limit = 2500
- changefreq = 'daily'
+ limit = QUESTIONS_SITEMAP_LIMIT
+ changefreq = QUESTIONS_SITEMAP_CHANGEFREQ
priority = 0.5
def items(self):
return Question.objects.filter_state(deleted=False).order_by('id')