Puncte:0

Ce este în neregulă cu această configurație NGINX care rescrie adresele URL este că utilizatorul nu este conectat la WordPress?

drapel eg

Am o configurație NGINX care este ar trebui să redirecționează un utilizator către pagina de conectare WordPress dacă acel utilizator nu este conectat la WordPress, dar nu funcționează corect. În schimb, redirecționează toate utilizatorii la pagina de conectare, indiferent de starea lor de conectare...

set $bad_uri 0;
if ($request_uri ~* ((^/private-page-1/)|(^/private-page-2/)|(^/private-page-3/)|(^/private-page-4/) )){
    set $bad_uri 1;
}
setați $logged_in 0;
dacă ( $http_cookie ~* „wordpress_logged_in” ){
    setați $logged_in 1;
}
setați $pls_stop „$bad_uri:$logged_in”;
dacă ( $pls_stop = "1:0" ){
    rescrie ^/* https://my-website.org/wp-login.php permanent;
}

Pe de altă parte, am o altă configurație NGINX care ESTE functioneaza corect. Similar cu cele de mai sus, ar trebui să interzică accesul la orice fișiere dintr-un anumit director, cu excepția cazului în care utilizatorul este conectat la WordPress. Această configurație funcționează perfect așa cum a fost prevăzut...

set $bad_uri 0;
dacă ($request_uri ~* ^/wp-content/uploads/_private_directory/){
    set $bad_uri 1;
}
setați $logged_in 0;
dacă ( $http_cookie ~* „wordpress_logged_in” ){
    setați $logged_in 1;
}
setați $pls_stop „$bad_uri:$logged_in”;
dacă ( $pls_stop = "1:0" ){
    întoarce 403;
}

Având în vedere faptul că logica de bază pentru ambele configurații este practic identică, atunci de ce prima funcționează doar pe jumătate, dar a doua funcționează bine?

Ivan Shatsky avatar
drapel gr
Redirecționările permanente HTTP 301 sunt stocate în cache de majoritatea browserelor, ceea ce înseamnă că, după ce utilizatorul neconectat vizitează pagina privată și este redirecționat, el va fi redirecționat de fiecare dată când vizitează aceeași pagină, indiferent dacă va fi conectat sau nu până când cache-ul browserului va fi golit. Folosiți `rewrite... redirect` pentru emiterea redirecționării temporare HTTP 302, sau mai bine folosiți `return 302 https://my-website.org/wp-login.php` (evitați să invocați biblioteca regex ori de câte ori puteți).

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.