urls.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from django.conf import settings
  2. from django.contrib.staticfiles import views
  3. from django.contrib import admin
  4. from django.urls import path, re_path, include
  5. from django.views.generic.base import RedirectView
  6. from django.contrib.sitemaps.views import sitemap
  7. from core import views as core
  8. from blog.sitemaps import BlogSitemap, CategorySitemap, PageSitemap, StaticViewSitemap
  9. # Configuration du sitemap dynamique
  10. sitemaps = {
  11. 'blog': BlogSitemap,
  12. 'categories': CategorySitemap,
  13. 'pages': PageSitemap,
  14. 'static': StaticViewSitemap,
  15. }
  16. urlpatterns = [
  17. path('tinymce/', include('tinymce.urls')), # Réactivé
  18. path('admin/', admin.site.urls),
  19. path('favicon.ico', RedirectView.as_view(url = '/static/favicon.ico')),
  20. # Sitemap dynamique (remplace /static/sitemap.xml)
  21. path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
  22. # HTTP 410 Gone pour les anciennes URLs /youtube/ et /flux/
  23. # Ces URLs causaient des erreurs Soft 404 (13 pages)
  24. # Indique à Google que ces ressources n'existent plus définitivement
  25. re_path(r'youtube/(?P<path>.*)$', core.gone_view),
  26. re_path(r'flux/(?P<path>.*)$', core.gone_view),
  27. re_path(r'lecture_flux/(?P<path>.*)$', core.gone_view),
  28. path('blog/', include('blog.urls')),
  29. path('', RedirectView.as_view(url = 'blog/')),
  30. path('' , core.index, name='core_index'),
  31. # url generique
  32. re_path(r'page/(?P<p_url>[a-zA-Z0-9_,-/]+)', core.page, name='core_page'),
  33. # last chance
  34. re_path(r'(?P<p_url>[a-zA-Z0-9_.,-]+)', core.page, name='core_page'),
  35. ]
  36. if settings.DEBUG:
  37. urlpatterns += [
  38. re_path(r'^static/(?P<path>.*)$', views.serve),
  39. ]