Je suis coincé avec cela, mes compétences dans le domaine des serveurs web sont pauvres ...règle de réécriture simple pour un nginx + apache2 avec mod_wsgi
J'ai une action Nginx comme un proxy pour un Apache2 en cours d'exécution avec mod_wsgi et mod_rewrite. Ce que je veux faire est de réécrire chaque URL de www.example.com à example.com, c'est-à-dire de supprimer la partie www de chaque requête d'URL avant de la diffuser. Ceci est la disposition des différents fichiers de configuration:
=== === /etc/nginx/sites-enabled/example.com:
===/etc/apache2/sites-enabled/example.com ===:
=== === /home/nabuco/public_html/example.com/example/apache/example.wsgi:
Dans mon ancien ensemble Ï avait un mod_python en cours d'exécution Apache2, et la seule chose que je devais faire rangeais un fichier .htaccess comme ceci:
Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Cela a fonctionné parfaitement. Mais j'ai essayé de mettre le même fichier .htaccess dans /home/nabuco/public_html/nomadblue.com/nomadblue/apache/.htaccess. Si je lance une requête sans www menant, comme http://example.com/ ou http://example.com/whatever, tout va bien. Cependant, si je tente la version www de http://www.example.com/ Je suis redirigé vers:
http://example.com/example.wsgi/
Dois-je exécuter des règles de réécriture de nginx au lieu? J'ai essayé aussi, en ajoutant ceci au fichier de configuration nginx:
rewrite ^/(.*) http://example.com/$1 permanent;
mais maintenant je reçois ce que Firefox appelle une « boucle circulaire » ...
Qui puis-je obtenir ce (je suppose trivial) chose en haut?
Merci à l'avance,
Hector
Cela ne fonctionne pas avec ma configuration, car mon Firefox me signale quand j'essaye de charger la page, il fait une boucle permanente. Je ne sais pas où dois-je mettre la réécriture, donc ... – nabucosound
Eh bien, il est toujours préférable d'avoir un serveur déclaré "par défaut" (dans la directive listen) explicitement. Sinon, nginx a tendance à choisir le premier déclaré en doute, ce qui a conduit à ces boucles. Désolé d'être laconique. Je suis content que vous ayez compris le problème. – rzab