Puncte:1

Rescrierea și returnarea Nginx interferează cu blocurile de locații diferite

drapel cn

Am următoarea configurație în nginx pentru redirecționare într-un anumit scenariu.

locație /prefix-someurl {
   dacă (condiție) {
            returnează 301 $scheme://$host/xyz.html;
   }
   proxy_pass someValue;
}

iar într-un alt bloc există niște reguli de rescriere de genul acesta

locație /someurl {
   dacă (condiție) {
            rescrie ^(.*)abc(.*)$ $1test/abc$2 pauză;               
            rescrie ^(.*)someurl/$(.*) $1someurl/test/index.html$2;

   }
   valoare proxy_pass;
}

Configurația de mai sus funcționează conform intenției. Totuși dacă pentru acesta din urmă fac această modificare;

locație /someurl {
   dacă (condiție) {
            returnează 301 $scheme://$host/xyz.html;
   }
   dacă (condiție) {
            rescrie ^(.*)abc(.*)$ $1test/abc$2 pauză;               
            rescrie ^(.*)someurl/$(.*) $1someurl/test/index.html$2;

   }
   valoare proxy_pass;
}

Primesc prea multe erori de redirecționare pentru accesare /prefix-someurl.Dacă modific /someurl la următoarele eroarea dispare;

locație /someurl {
  dacă (condiție) {
        returnează 301 $scheme://$host/xyz.html;
  }    
  valoare proxy_pass;
}

Nu pot intelege de ce am modificat /someurl are un impact asupra /prefix-someurl. Sau îmi lipsește ceva în ceea ce privește evaluarea rescrierii nginx. O perspectivă asupra acestui lucru ar fi apreciată.

Richard Smith avatar
drapel jp
Trebuie să identificați fiecare pas din buclă. Utilizați `curl -I` pentru a testa redirecționările individuale. De asemenea, activați [`rewrite_log`](http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite_log) pentru a obține diagnostice de la motorul de rescriere.
drapel us
Cel mai probabil, puteți găsi un răspuns la https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/. În loc de „dacă”, ar trebui să utilizați „hartă” și să utilizați o altă strategie pentru condițiile dumneavoastră.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.