Я решил включить https в Django 1.11.4.
Спасибо "Let's Encrypt".
Поэтому я перенаправил (301) все http-запросы на https.Кроме того, все не-www (http или https) перенаправляются (301) на https://www
. Это прекрасно работает, кроме моего URL https://www.example.com/sitemap.xml, который не работает в настоящее время и с момента прохождения https.
Возвращает код ошибки 500, и я не знаю, почему.
urls.py
from django.conf.urls import url
from django.contrib.sitemaps.views import sitemap
from example.sitemaps import *
from django.conf import settings
#Pour charger le favicon
media = settings.MEDIA
# Dictionary containing sitemap classes
sitemaps = {
'products': ArticleSitemap(),
}
urlpatterns = [
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
]
sitemaps.py
#Generating Sitemap for Dynamic Urls
from django.contrib.sitemaps import Sitemap
from wall.models import Articles
class ArticleSitemap(Sitemap):
changefreq = "weekly"
priority = 0.7
def items(self):
return Articles.objects.filter(published=True).order_by('-update')
def lastmod(self, item):
return item.date
settings.py
INSTALLED_APPS = [
'django.contrib.sites', #SiteMap
'django.contrib.sitemaps', #SiteMap
Он работал по http, поэтому есть какая-то модификация, но я не знаю, какая именно.