Redirect loop: slik finner du årsaken og fikser den
Et nettsted som nekter å laste, med en feilmelding om for mange omdirigeringer, stopper alt arbeid. En redirect loop oppstår når to eller flere omdirigeringer peker på hverandre, slik at nettleseren spretter frem og tilbake i en evig sirkel. Her får du en symptomdrevet sjekkliste som finner årsaken, uansett om feilen ligger hos registrar, i DNS, i hosting eller i WordPress.
TL;DR: En redirect loop løser du ved å se hva som faktisk skjer i adresselinjen, teste i et privat vindu og følge omdirigeringskjeden med et verktøy. De vanligste årsakene er motstridende HTTPS-regler, konflikter mellom www og uten www, feil i .htaccess og WordPress-plugins som kjemper om kontrollen. Fikser du laget der omdirigeringene møtes, forsvinner løkken.
Hva er en redirect loop?
En redirect loop, også kalt redirect-løkke eller omdirigeringsløkke, er når side A sender deg videre til side B, som sender deg til side C, som sender deg tilbake til A. Nettleseren gir opp etter omtrent 20 hopp og viser en feilmelding i stedet for innholdet ditt.
De vanligste meldingene er ERR_TOO_MANY_REDIRECTS i Chrome og Edge, «The page isn't redirecting properly» i Firefox og «Safari Can't Open the Page» på Mac. Alle betyr det samme: omdirigeringene er konfigurert slik at de peker i ring.
En redirect loop kan oppstå på alle nivåer i kjeden, fra domenet og DNS-en til serverreglene og plugins. Har du full oversikt over hvor domenet ditt er registrert og hvordan DNS-en er satt opp, kommer du raskere til bunns i feilsøkingen.
De vanligste årsakene til redirect loop
Jobb symptomdrevet og start med det som feiler oftest. Her er årsakene sortert etter hvor ofte de dukker opp.
HTTPS og HTTP i konflikt
Den klart vanligste årsaken. Serveren tvinger all trafikk over til HTTPS, samtidig som en CDN eller et plugin gjør det samme. Når begge parter svarer med en 301-omdirigering, havner nettleseren i en uendelig sirkel mellom to adresser som hver sier «flytt hit i stedet».
Et klassisk eksempel er et WordPress-plugin som tvinger all trafikk til HTTPS, mens en lastbalanserer eller proxy sender HTTPS-trafikken tilbake til HTTP. Hvis begge svarene er permanente omdirigeringer, gjentas mønsteret for alltid.
Konflikt mellom www og uten www
Du har kanskje én regel som sender www til uten www, og en annen regel som sender uten www til www. Er begge aktive samtidig, oppstår en løkke som ikke involverer HTTPS i det hele tatt.
Det er spesielt vanlig når omdirigeringen er satt opp både hos verten, i en CDN og i et plugin. Hvert lag tenker at det gjør jobben for de andre.
Feil i .htaccess
I Apache-baserte løsninger styrer filen .htaccess mye av viderekoblingen. En RewriteRule som peker på seg selv, eller to regler som overstyrer hverandre, er en hyppig kilde til redirect-løkker. Det skjer særlig hvis du har limt inn kode fra flere guider uten å fjerne det som var der fra før.
WordPress-plugins som kjemper om kontrollen
Omdirigeringsplugins, cache-plugins og sikkerhetsplugins setter ofte sine egne regler. Installerer du to plugins som begge skal styre HTTPS, www eller landingssider, kan de oppheve hverandre og danne en løkke. Test derfor alltid én plugin om gangen.
Omdirigering i flere ledd hos registrar, DNS og CDN
En domeneforoverkobling hos registraren, som sender domenet ditt videre til en annen adresse, kombinert med en omdirigering på serveren, er en vanlig felle. Hvis domenet videresender til en adresse som igjen videresender tilbake, har du en løkke på domenenivå som ingen serverinnstilling fikser.
Er domenet ditt registrert hos Feno, finner du domeneforoverkobling, DNS og DNSSEC samlet i ett kontrollpanel. Det gjør det lett å se om en viderekobling på domenenivå kolliderer med reglene på serveren.
Slik finner du årsaken til en redirect loop, steg for steg
Du trenger ikke feilsøke i blinde. Følg disse seks stegene i rekkefølge.
- Se på adresselinjen. Sjekk om nettstedet veksler mellom http og https, eller mellom www og uten www. Veksler det, har du funnet konflikten. Det er den raskeste pekepinnen på hva som er galt.
- Test i et privat vindu. En lagret omdirigering i nettleserens cache eller en gammel cookie kan gjenskape en løkke som ikke finnes lenger. Et privat vindu starter rent og gir et ærlig svar.
- Følg omdirigeringskjeden. I terminalen skriver du curl -I og nettadressen din. Da ser du hvert hopp med statuskoden 301, 302, 307 eller 308 og målet for hvert hopp. Et nettbasert sjekkeverktøy fungerer like bra.
- Finn mønsteret i kjeden. Adresse 1 peker til adresse 2, som peker tilbake til adresse 1. Der omdirigeringene møtes, ligger årsaken. Noter deg om det er www, https eller en bestemt sti som spretter.
- Slå av én og én kilde. Deaktiver WordPress-plugins ett om gangen, kommenter ut regler i .htaccess midlertidig, og slå av tvungen HTTPS i CDN-en. Test etter hver endring. Når løkken forsvinner, har du funnet synderen.
- Tøm cache på alle nivåer. Nettleser, plugin, server og CDN. En gammel cache kan holde liv i en løkke i flere timer etter at du har fikset den.
Når feilen er borte, følg disse tipsene for å unngå nye løkker:
- Ha én regel som bestemmer http eller https, og én som bestemmer www eller uten www.
- Sett reglene i riktig rekkefølge i .htaccess, siden de leses ovenfra og ned.
- Bruk bare ett plugin til omdirigeringer, og fjern pluginene du ikke lenger bruker.
- Tøm CDN-cachen hver gang du endrer omdirigeringsregler.
Vanlige spørsmål om redirect-løkker
Hva betyr ERR_TOO_MANY_REDIRECTS?
Feilen betyr at nettleseren har gitt opp etter et bestemt antall omdirigeringer, vanligvis rundt 20. Den dukker opp når sidene du besøker sender deg i ring, og har ingenting med nettverket eller enheten din å gjøre.
Kan en redirect loop skade SEO?
Ja. Mens løkken står på, kan søkemotorens roboter ikke lese innholdet ditt, og siden kan miste synlighet i resultatene. Fikser du feilen raskt og sørger for at omdirigeringene peker mot riktig mål, henter Google siden inn igjen ved neste gjennomgang.
Hvor mange omdirigeringer er for mange?
Nettlesere stopper rundt 20 hopp, men allerede over tre til fire merker brukeren at siden laster tregere. Kortest mulig kjede er alltid best. Én omdirigering til riktig mål er nok i nesten alle tilfeller.
Konklusjon
En redirect loop er sjelden vanskelig å løse når du jobber symptomdrevet. Start med adresselinjen, følg kjeden, og skru av kildene én om gangen til feilen forsvinner.
Har du kontroll på domenet ditt, blir feilsøkingen mye enklere. Flytt domenet ditt til en norsk registrar med oversiktlig DNS-administrasjon, og ha domeneforoverkobling, DNSSEC og varsler samlet på ett sted.