L’application Django fonctionne sous runserver, mais les 404 sous nginx

Mon application Django fonctionne bien sur mon serveur lorsque je l’exécute sous “python manage.py runserver …..” mais quand je l’exécute sous nginx / fastcgi, je reçois un 404.

Voici le message d’erreur:

Page non trouvée (404)
Méthode de demande: GET
URL de demande: blah.youtrain.me/admin/ (j’ai supprimé le http en raison des contraintes de StackOverflow pour le nouveau compte)

En utilisant l’URLconf défini dans youtrainme.urls, Django a essayé ces modèles d’URL, dans cet ordre:

^ admin / doc /
^ admin /
L’URL actuelle, ne correspond à aucun de ceux-ci.

Quelle que soit la page de mon application sur laquelle je vais sous nginx, elle affiche toujours le même message d’erreur: “L’URL actuelle ne correspond à aucun de ceux-ci.”

Sous nginx, si je vais juste sur blah.youtrain.me, l’URL de requête ci-dessus devient: blah.youtrain.me// <— notez la barre oblique finale. Toutefois, sous serveur d'exécution, il n'y a pas de barre oblique dans la ligne URL de la demande. Cela pourrait donner un aperçu?

Toute aide serait grandement appréciée! 🙂

Voici ma configuration nginx pour ce site:

serveur
{
écouter 80;
nom_serveur blah.youtrain.me;
access_log /home/ytmadmin/public_html/blah.youtrain.me/log/access.log;
error_log /home/ytmadmin/public_html/blah.youtrain.me/log/error.log debug;
# réécrire les règles – fichiers
location ~ *. +.> (xml | jpg | jpeg | gif | png | ico | css | zip | tgz | gz | rar | bz2 | doc | xls | exe | pdf | ppt | txt | tar | mid | midi | wav | bmp | rtf | js | swf)
{
access_log off;
expire 30d;
Pause;
}
# requêtes python
emplacement /
{
fastcgi_pass 127.0.0.1:8010;
fastcgi_pass_header Autorisation;
fastcgi_intercept_errors off;
inclure / usr / local / nginx / conf / fastcgi_params;
}
}

Et mes urls.py

à partir de django.conf.urls.defaults importer des modèles, inclure, URL

à partir de django.consortingb import admin
admin.autodiscover ()

urlpatterns = patterns (”,
(r ‘^ $’, ‘main.views.index’),
(r ‘^ admin / doc /’, include (‘django.consortingb.admindocs.urls’)),

# Décommentez la ligne suivante pour permettre à l’administrateur:
(r ‘^ admin /’, inclure (admin.site.urls)),
)

J’ai trouvé la solution ici: https://serverfault.com/questions/134863/nginx-fastcgi-problems-with-django-double-slashes-in-url

Sous nginx, j’ai dû supprimer la ligne suivante de mon fichier nginx / conf / fastcgi_params et tout allait bien:

fastcgi_param SCRIPT_NAME $ fastcgi_script_name;