Prea multe redirecționări: ce înseamnă această eroare și cum o remediați
Publicat: 2022-09-27„Prea multe redirecționări”, cunoscută și sub numele de buclă de redirecționare, este o eroare pe care browser-ul o va returna dacă pagina web solicitată nu se încarcă din cauza unui număr infinit de redirecționări pe care trebuie să le urmeze pentru a prelua orice conținut de pe server. Buclele de redirecționare pot fi adesea cauzate de redirecționări conflictuale din partea serverului sau de o configurare greșită a CDN-ului.
În acest ghid cuprinzător pentru remedierea erorii „Prea multe redirecționări”, veți afla unde pot fi configurate redirecționările, care sunt cele mai comune motive din spatele buclelor de redirecționare și cum să le abordați pas cu pas.
Ce sunt redirecționările și cum funcționează?
Redirecționările site-ului web pot fi definite ca pașii care trebuie parcurși în timpul livrării conținutului pentru a găsi locația paginii web solicitate. În timp ce, pentru dvs., s-ar putea părea că schimbarea realizată cu o regulă de redirecționare reflectă doar modul în care adresa site-ului web este afișată în bara de adrese, browser-ul dvs. efectuează o serie de operațiuni în culise pentru a determina unde conduce fiecare redirecționare înainte de a putea încărca orice. conținut din locația finală definită de calea de redirecționare.
Forțarea HTTPS, versiunea www a unui site web sau încărcarea unui alt nume de domeniu — redirecționările sunt utilizate pe scară largă în găzduirea site-urilor, permițându-vă să personalizați livrarea conținutului. Există mai multe modalități de a configura redirecționări de domenii și, atâta timp cât acestea sunt configurate corect, browserele nu vor avea probleme cu respectarea regulilor pe care le-ați creat.
Redirecționări temporare și permanente
Există două tipuri principale de redirecționări care pot fi configurate - temporare și permanente. În funcție de tipul de redirecționare întâlnit, serverul web va returna fie codul de stare HTTP 302, fie 301.
Un cod de răspuns HTTP 302 vă arată că o anumită adresă web este redirecționată temporar către o altă locație. Cu toate acestea, uneori puteți vedea că o redirecționare temporară este urmată atunci când ați eliminat o regulă de redirecționare permanentă de pe site-ul dvs. web, dar nu i-ați golit memoria cache, ceea ce a împiedicat modificările să fie vizibile.
Acest lucru se poate întâmpla dacă utilizați o soluție de stocare în cache de orice fel, inclusiv unul dintre pluginurile de stocare în cache WordPress. Browserul dvs. va stoca, de asemenea, o versiune în cache a oricărui site web pe care îl vizitați, care va include redirecționări vechi.
Redirecționările permanente returnează codul de stare 301 HTTP și indică faptul că site-ul dvs. sau o anumită pagină de pe acesta a fost mutat permanent, ceea ce, în cazul în care este o redirecționare către HTTPS sau versiunea www a site-ului, nu înseamnă neapărat că locația acestuia pe sistemul de fișiere s-a schimbat.
Care sunt cele mai frecvente redirecționări?
Redirecționările de la protocolul web HTTP la HTTPS și de la versiunea non-www la versiunea www a site-ului web sunt cele mai frecvente două reguli configurate. Redirecționările către HTTPS asigură că tot traficul web este criptat prin utilizarea unui certificat SSL, în timp ce redirecționările către www sunt adesea folosite pentru a integra o rețea de livrare a conținutului cu site-ul dvs., folosind o înregistrare CNAME.
HTTP la HTTPS
O redirecționare de la HTTP la HTTPS, denumită adesea forțarea HTTPS, poate fi configurată pentru a se asigura că niciun conținut nu este livrat unui vizitator al site-ului web printr-o conexiune HTTP nesigură. Dacă pe site-ul dvs. web este instalat un certificat SSL/TLS valid, de obicei nu trebuie să forțați HTTPS manual, dar adăugarea unei astfel de redirecționări poate fi una dintre modalitățile de a trata conținutul mixt.
Conținut mixt
Conținutul mixt de pe site poate fi definit ca o situație în care fișierul HTML de bază este încărcat prin HTTPS, dar celelalte resurse la care se face referire, inclusiv imagini, fișiere Javascript sau CSS, sunt livrate vizitatorului prin HTTP. Chiar dacă aveți instalat un certificat SSL valid, browserele vor afișa în continuare un avertisment de securitate dacă pe o pagină web este identificat conținut mixt.
Configurarea unei redirecționări pentru a rezolva problema cu conținut mixt nu este, în general, cea mai bună soluție. În schimb, ar trebui să actualizați toate adresele URL (Uniform Resource Locators) din baza de date a site-ului dvs. web pentru a include protocolul HTTPS în loc de HTTP. Acest lucru se poate face manual folosind funcția de căutare-înlocuire oferită de WP CLI sau un plugin WordPress. Pentru alte sisteme de management al conținutului, va trebui să modificați adresele utilizând un instrument de administrare a bazei de date precum phpMyAdmin sau rulând interogări MySQL/MariaDB din linia de comandă.
3 Locații principale unde pot fi configurate redirecționări
În general, redirecționările pot fi configurate într-una dintre cele trei locații principale:
- Configurare server web . Fișierele de configurare globale utilizate de un server web conțin setări care sunt de obicei aplicate tuturor site-urilor web găzduite, așa că nu este recomandată adăugarea de redirecționări la unul dintre ele. Utilizarea fișierelor de configurare locale create individual pentru fiecare site web este standardul pentru configurarea redirecționărilor pe partea serverului.
- Configurarea sistemului de management al conținutului . Sistemul dvs. de management al conținutului stochează adresa site-ului dvs. în baza de date ca o constantă, care poate fi folosită pentru a forța HTTPS sau pentru a încărca versiunea www a acestuia.
- Configurarea rețelei de livrare a conținutului . CDN-ul dvs. va forța propriile redirecționări care vor defini modul exact în care conținutul este preluat de pe serverul de origine și livrat vizitatorilor site-ului.
Redirecționări în fișierele de configurare a serverului web
Puteți configura regulile de redirecționare local într-unul dintre fișierele de configurare pe care serverul dvs. web le va citi. Când Apache este folosit ca server web, regulile de redirecționare sunt de obicei setate în fișierul local .htaccess al site-ului web. Dacă se utilizează NGINX, redirecționările sunt configurate în blocul serverului NGINX, care reprezintă configurația globală a site-ului dvs. web.
Mai jos puteți vedea două redirecționări care pot fi adăugate la .htaccess — una forțează HTTPS, iar cealaltă trimite toate solicitările web către versiunea www a site-ului web. Trebuie respectate reguli stricte de sintaxă sau riscați să vă distrugeți site-ul dacă Apache detectează erori de sintaxă într-unul dintre fișierele de configurare locale.
Dacă utilizați pluginuri de redirecționare pentru WordPress, este cel mai probabil ca acestea să își scrie redirecționările în fișierul dvs. local .htaccess.
Redirecționări în configurația WordPress
WordPress și alte sisteme de management al conținutului plasează adresa site-ului web în baza de date, iar setarea este încărcată de fiecare dată când este solicitat orice conținut. Adresa reprezintă o adresă URL care constă dintr-un nume de domeniu și un protocol web, fie HTTP, fie HTTPS. Schimbând adresele URL din baza de date, vă puteți redirecționa site-ul web către www sau puteți forța HTTPS dacă există un certificat SSL/TLS instalat.
WordPress folosește constanta WP_HOME pentru a identifica setarea Adresă WordPress și WP_SITEURL ca Adresă site, care sunt stocate în tabelul wp_options ca siteurl și home. Setarea Adresă WordPress se referă la locația instalării WordPress, în timp ce Adresa site-ului reprezintă adresa URL pe care trebuie să o introduceți în bara de adrese a browserului pentru a vă deschide site-ul web.
Redirecționări forțate de CDN
Configurația rețelei de livrare a conținutului definește modul în care poate prelua paginile web solicitate de pe serverul de origine și le poate livra vizitatorilor site-ului dvs. - prin HTTP sau HTTPS. Procedurile exacte sunt determinate de modul de criptare ales. Există trei tipuri principale de criptare oferite de rețelele moderne de livrare a conținutului:
- Criptare completă sau end-to-end . Criptarea de la capăt la capăt asigură utilizarea HTTPS în toate etapele livrării conținutului. Înseamnă că toate solicitările web de la browser către CDN și de la CDN către serverul de origine sunt întotdeauna trimise prin HTTPS. Criptarea end-to-end necesită două certificate SSL - unul instalat pe serverul de origine și celălalt implementat de CDN.
- Criptare flexibilă sau parțială . Criptarea parțială forțează toate conexiunile din browser CDN-ul să treacă prin HTTPS, în timp ce CDN-ul se va conecta la serverul de origine prin HTTP. Totuși, site-ul dvs. web va apărea în continuare ca sigur în toate browserele.
- Fără criptare . Cu criptarea dezactivată, livrarea conținutului va avea loc prin HTTP și toate browserele vor afișa un avertisment de securitate la încărcarea site-ului dvs.
Dacă CDN-ul încearcă să inițieze o conexiune prin HTTPS, dar serverul dvs. web redirecționează solicitările HTTPS către HTTP, se creează o buclă de redirecționare, ceea ce duce la apariția unei erori de prea multe redirecționări pe site-ul dvs.
Ce înseamnă eroarea „Prea multe redirecționări”?
„Prea multe redirecționări”, denumită adesea buclă de redirecționare, este un mesaj de eroare care indică un conflict care apare în timpul livrării de conținut cauzat de două redirecționări concurente. Când este identificată o buclă de redirecționare, browserele moderne vor returna una dintre următoarele variante ale erorii:
- Pagina nu redirecționează corect . Puteți vedea acest mesaj de eroare în Firefox.
- Pagina nu funcționează. ERR_TOO_MANY_REDIRECTS . Google Chrome va afișa această eroare odată blocat într-o buclă de redirecționare.
- Safari nu poate deschide pagina deoarece au avut loc prea multe redirecționări . În acest fel, Safari vă va informa ce conflicte de redirecționare trebuie rezolvate înainte ca site-ul web să poată fi încărcat.
Pentru a remedia eroarea de prea multe redirecționări, va trebui să revizuiți redirecționările configurate în .htaccess și forțate de sistemul de management al conținutului și să verificați ce mod de criptare este utilizat de rețeaua de livrare a conținutului, dacă aveți unul folosit.
3 cele mai frecvente configurații greșite care provoacă o buclă de redirecționare pe site-ul dvs. și cum să le remediați
Parcurgerea tuturor redirecționărilor pentru a identifica un conflict nu este o sarcină ușoară, mai ales dacă unele sunt adăugate la configurația globală a serverului web, ceea ce le face aplicate la nivelul întregului server. Cu toate acestea, există unele configurații greșite observate foarte frecvent care duc inevitabil la bucle de redirecționare.
Cele mai frecvente trei motive pentru a vedea „Prea multe redirecționări” pe site-ul dvs. sunt:
- Lipsește un certificat SSL/TLS valid . O buclă de redirecționare poate apărea dacă certificatul dvs. SSL a expirat sau există alte probleme cu acesta, dar site-ul dvs. web încearcă în continuare să forțeze HTTPS.
- Setările adresei site-ului web CMS sunt incorecte . Dacă protocolul specificat în setările adresei site-ului web folosit de WordPress sau de un alt sistem de management al conținutului intră în conflict cu alte redirecționări configurate, va cauza eroarea de prea multe redirecționări.
- Este ales modul de criptare CDN greșit . Este deosebit de comun să vedeți bucle de redirecționare când treceți la criptarea completă în configurația CDN. Dacă cerințele pentru utilizarea criptării end-to-end nu sunt îndeplinite de serverul de origine, pot apărea probleme.
Lipsește un certificat SSL/TLS valid
Un certificat SSL/TLS valid, semnat de CA, instalat pe site-ul web, asigură că tot traficul web este criptat atunci când este livrat de la server la browser. În plus, HTTPS este probabil forțat la nivel de server, care funcționează perfect până când certificatul tău SSL expiră și nu este reînnoit automat. Se poate întâmpla din următoarele motive:
- Reînnoirea automată a certificatelor SSL/TLS nu este activată . Dacă SSL nu a fost reînnoit automat, va trebui să comandați un nou certificat și să îl instalați.
- Validarea domeniului SSL a eșuat . Să criptăm sau Sectigo, unul dintre cei mai folosiți furnizori SSL care oferă certificate gratuite, implementează diferite provocări pentru a valida controlul numelor de domenii pentru care trebuie eliberat un nou certificat. Dacă validarea domeniului eșuează, un nou certificat nu va fi instalat până când nu rezolvați problema care blochează solicitarea de validare.
- Rădăcina sau unul dintre certificatele intermediare a expirat . Când se întâmplă, va trebui să vă reinstalați certificatul odată ce furnizorul SSL abordează problema din partea sa.
Cum se adresează
Verificați dacă site-ul dvs. are un certificat valid instalat utilizând un verificator SSL. Dacă a expirat sau verificatorul SSL arată alte probleme, reinstalați certificatul. Dacă Let's Encrypt sau Sectigo nu reușesc să emită un certificat gratuit, va trebui să verificați ce ar putea bloca cererea de validare.
Unul dintre motivele pentru care validarea domeniului SSL nu reușește este integrarea unei rețele de livrare de conținut, mai ales dacă ultima dată când Let's Encrypt sau Sectigo au emis un certificat, nu l-ați configurat încă. Dacă trebuie să instalați un nou certificat SSL gratuit, întrerupeți CDN-ul, astfel încât site-ul dvs. web să trimită direct către server, returnând adresa IP principală, mai degrabă decât adresa IP care aparține rețelei de livrare a conținutului. În acest fel, puteți reînnoi certificatul pe serverul de origine pentru a continua să utilizați criptarea end-to-end.
Setările adresei site-ului CMS sunt incorecte
WordPress și toate celelalte sisteme de gestionare a conținutului pot forța redirecționările către HTTPS sau www prin stocarea adresei site-ului dvs. în baza de date și încărcarea acesteia de fiecare dată când este solicitat orice conținut. Dacă setările adresei site-ului sunt configurate incorect - folosind un protocol sau un nume de domeniu greșit - va cauza probleme, inclusiv vedea prea multe erori de redirecționare.
Cum se adresează
Dacă aveți instalat un certificat SSL, mai ales dacă criptarea end-to-end este asigurată de configurația CDN, utilizați HTTPS atât în setările Adresa WordPress, cât și în Adresa site-ului. Dacă site-ul dvs. este redirecționat către versiunea www, atât concurenții WP_SITEURL, cât și WP_HOME trebuie să îl reflecte.
Deschideți meniul Setări generale din tabloul de bord WordPress și corectați valorile atribuite Adresei WordPress și Adresei site-ului acolo necesare. Faceți clic pe Salvare modificări pentru ca WordPress să modifice setările din baza de date.
Este ales modul de criptare CDN greșit
Nu pot exista conflicte între redirecționările configurate pe serverul de origine și modul de criptare utilizat de CDN-ul sau veți vedea eroarea „Prea multe redirecționări” când încercați să vă încărcați site-ul web în orice browser. Asigurați-vă că alegeți modul de criptare corect care se potrivește mai bine nevoilor site-ului dvs.
Deoarece o rețea de livrare de conținut criptează întotdeauna traficul dintre serverele sale și browser, cu excepția cazului în care dezactivați complet criptarea, puteți alege să nu aveți SSL instalat pe serverul de origine. Alegeți criptarea parțială și asigurați-vă că nu forțați HTTPS la nivel de server pentru a evita orice probleme de acceptare a cererilor de la CDN prin HTTP.
Dacă se alege criptarea end-to-end, trebuie instalat un certificat SSL valid pe serverul de origine, astfel încât CDN-ul să se poată conecta prin HTTPS. Cu excepția cazului în care puteți instala manual un certificat nou, de fiecare dată când SSL-ul trebuie reînnoit, întrerupeți temporar CDN-ul pentru a evita orice problemă cu validarea domeniului.
Cum se adresează
Examinați configurația actuală și decideți ce mod de criptare trebuie ales. Treceți la un alt tip de criptare pentru a remedia eroarea „Prea multe redirecționări” de pe site-ul dvs., cauzată de o redirecționare conflictuală pe serverul dvs. de origine sau de absența SSL-ului pe acesta necesară pentru a accepta criptarea end-to-end.
Cum să remediați „Prea multe redirecționări” în 3 pași
În pașii de mai jos, veți învăța cum să identificați redirecționările în conflict și cum să remediați rapid bucla de redirecționare de pe site-ul dvs.
Pasul 1. Verificați calea de redirecționare a site-ului dvs. web
Multe surse recomandă ștergerea memoriei cache a browserului ca prim pas pentru depanarea buclelor de redirecționare. Cu toate acestea, ca și în cazul oricărei alte erori, va funcționa numai dacă problema a fost rezolvată pe server, dar browserul încă stochează o versiune deteriorată a site-ului dvs. în cache. În mod obișnuit, după ce ați făcut orice modificări site-ului dvs. web, este posibil să doriți să ștergeți memoria cache pentru a le vedea reflectate.
Primul pas pentru a remedia „Prea multe redirecționări” este să urmați calea de redirecționare a site-ului dvs. web pentru a vedea unde exact se blochează browserul. Cel mai bun mod de a face acest lucru este folosirea unuia dintre verificatorii de redirecționare.
Toate sau majoritatea verificatoarelor de redirecționare folosesc cURL, un instrument excelent de linie de comandă pentru transferul de date folosind diferite protocoale de rețea. Îl putem folosi pentru a obține informații despre antetul HTTP, care vă va arăta ce se întâmplă exact odată ce încercați să vă încărcați site-ul.
Salvați următorul script Bash simplu într-un fișier numit redirects.sh odată ce sunteți conectat la server prin SSH. Faceți-l executabil rulând chmod +x redirects.sh.
Rulați scriptul pasând-l la numele de domeniu al site-ului dvs. web. De exemplu, ./redirects.sh wordpress.com.
Pasul 2. Identificați redirecționările conflictuale
Examinați rezultatul pe care îl aveți care rulează scriptul de mai sus. Vă va spune ce fel de redirecționări fac să apară „Prea multe redirecționări” pe măsură ce browserul renunță la respectarea regulilor conflictuale. În rezultatul de mai jos, putem vedea că există o redirecționare infinită de la HTTP și HTTPS.
Notați codurile de stare de returnare ale fiecărei redirecționări. Redirecționările permanente provin adesea din fișierul .htaccess al site-ului web, în timp ce redirecționările temporare sunt de obicei generate în cadrul codului unui site web, așa că sunt controlate de WordPress sau de alt sistem de management al conținutului pe care îl utilizați.
Pasul 3. Adresați bucla de redirecționare
În funcție de regulile de redirecționare conflictuale pe care le-ați identificat, veți ști unde să le căutați. După cum am discutat, există trei lucruri principale de verificat - fișierul local .htaccess, setările adresei site-ului web stocate în baza de date a site-ului dvs. de către CMS și modul de criptare ales în configurația CDN.
Dacă bucla de redirecționare are loc în timp ce site-ul dvs. încearcă să redirecționeze între HTTP și HTTPS, verificați dacă aveți instalat un certificat SSL/TLS valid și ce mod de criptare este ales în configurația dvs. CDN dacă aveți vreo integrare cu site-ul dvs. web. Verificați adresa site-ului și adresa WordPress specificate pentru site-ul dvs. și stocate în baza de date WordPress.
Urmați instrucțiunile furnizate în secțiunea anterioară a ghidului pentru a remedia configurațiile greșite obișnuite și pentru a remedia „Prea multe redirecționări” pe site-ul dvs.
Concluzie
Mesajul de eroare „Prea multe redirecționări”, cunoscut și sub numele de buclă de redirecționare, apare pe site-ul dvs. atunci când browserul nu a reușit să încarce conținut din cauza unui număr mare de redirecționări care au urmat. Pentru a remedia bucla de redirecționare, trebuie să abordați conflictul care există în calea de redirecționare.
Conducerea unei afaceri online este plină de provocări, iar a petrece ore întregi pentru a configura infrastructura serverului și a remedia erorile nu este întotdeauna posibilă. Nici nu este o idee bună atunci când a avea soluțiile potrivite poate elimina nevoia de a angaja o echipă dedicată pentru a vă menține site-ul să funcționeze fără probleme.
Protejând aproximativ un milion de site-uri web WordPress, BackupBuddy și iThemes Security Pro sunt soluții de vârf în industrie pentru securitatea la nivel de aplicație și recuperarea datelor. Verificările regulate ale vulnerabilităților și scanările malware oferite de caracteristica Scanare site vă permit să reduceți în mod semnificativ suprafața de atac și să vă protejați site-ul web de toate vulnerabilitățile cunoscute. Backup-uri automate și restaurări simple cu un singur clic — BackupBuddy face posibilă recuperarea din toate atacurile rău intenționate și erorile comune.
Cel mai bun plugin de securitate WordPress pentru a securiza și proteja WordPress
WordPress alimentează în prezent peste 40% din toate site-urile web, așa că a devenit o țintă ușoară pentru hackerii cu intenții rău intenționate. Pluginul iThemes Security Pro elimină presupunerile din securitatea WordPress pentru a facilita securizarea și protejarea site-ului dvs. WordPress. Este ca și cum ai avea în personal un expert în securitate cu normă întreagă care monitorizează și protejează constant site-ul tău WordPress pentru tine.
Kiki are o diplomă de licență în managementul sistemelor informatice și mai mult de doi ani de experiență în Linux și WordPress. În prezent lucrează ca specialist în securitate pentru Liquid Web și Nexcess. Înainte de asta, Kiki a făcut parte din echipa de asistență Liquid Web Managed Hosting, unde a ajutat sute de proprietari de site-uri WordPress și a aflat ce probleme tehnice întâmpină adesea. Pasiunea ei pentru scris îi permite să-și împărtășească cunoștințele și experiența pentru a ajuta oamenii. Pe lângă tehnologie, lui Kiki îi place să învețe despre spațiu și să asculte podcasturi despre crime adevărate.