2017-08-09 1 views
0

J'essaie de rediriger le trafic vers notre nouveau serveur, mais l'ancien serveur (Mac OS) utilisé le cas des noms de fichiers insensibles alors que le nouveau (intégré) on utilise Linux (sensible à la casse). Mon problème est de rediriger le trafic à partir de:Comment transformer (réécriture) une partie de l'URL dans nginx

http://server.com/NEW/variable_url 

à http://server.com/new/variable_url

(notez le plus bas 'nouveau').

Je voudrais être en mesure de le faire pour nginx sans utiliser Perl ou Lua ou d'autres modules que ce serveur est en cours d'exécution dans un environnement intégré.

Jusqu'à présent, j'ai essayé:

location ~* ^/new/ { 
     access_log /var/log/nginx/new.log combined; 
     rewrite ^/new/(.*)$ $1 permanent; 
    } 

sans succès. Peut-être quelque chose comme

Répondre

0

résolu le problème moi-même. Je manque la directive racine qui pointe vers la racine du serveur Web. Donc, pour toute personne intéressée la solution est:

location ~* ^/NEW/ { 
     root /etc/nginx/html/; 
     rewrite /NEW/(.*)$ /new/$1 permanent; 
    } 
0

cela?

lieu/NOUVEAU {

rewrite ^/NEW /(.*)$/nouveau;

}

+0

Ne fonctionne pas, essaie toujours ... il ne redirige pas vers la bonne page. – CristianG

0

Si vous souhaitez rediriger le trafic à partir du lien spécifique /NEW/exampe1, vous pouvez essayer

location =/NEW/example1 
{ 
rewrite^/new/example1 last; 
} 
+0

Désolé pour ma mauvaise question, dans ce cas, « exemple » pourrait être quelque chose, car il existe de nombreux sites, ce n'est pas statique. – CristianG