Question

Je nginx avec la réécriture fonctionne correctement sur mon serveur en production.

Mais quand j'ai essayé de mettre la même règle sur ma machine de développement local (mac) la réécriture ne semble pas fonctionner.

Je veux "universitytutor.local" rediriger vers "www.universitytutor.local"

Voici la partie pertinente de mon nginx.conf

    server{
            listen 80;
            server_name universitytutor.local;
            rewrite ^/(.*) http://www.universitytutor.local/$1 permanent;
    }

    server {
          listen 80;
          server_name www.universitytutor.local *.universitytutor.local;
          root /Users/barmstrong/NetBeansProjects/universitytutor/public;   # <--- be sure to point to 'public'!
          passenger_enabled on;
                rails_env development;
    }

La page se charge correctement si je tape « universitytutor.local » ou « www.universitytutor.local » et il ne redirige pas.

Je le * .universitytutor.local là-dedans parce que je l'utilise pour différentes villes subdomains donc j'ai besoin, mais je veux un sous-domaine vide pour rediriger vers « www ».

Toutes les idées?

Était-ce utile?

La solution

trouvé la solution pour cela. Je ne Nginx remise en marche correctement il ne captait pas les changements. Doh!

Vous pouvez redémarrer comme ceci

sudo kill `cat /opt/nginx/logs/nginx.pid `
sudo /opt/nginx/sbin/nginx

ou ajouter à votre .bashrc pour faciliter l'utilisation

alias nginx_restart='nginx_stop; nginx_start'
alias nginx_start='sudo /opt/nginx/sbin/nginx'
alias nginx_stop='sudo kill `cat /opt/nginx/logs/nginx.pid `'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top