12 min. leestijd
URL-redirects controleren en redirectketens lezen
Redirects controleren met TrueURL, curl en DevTools: lees elke hop van een redirectketen en los loops, lange ketens en gemengde 301- en 302-redirects op.
Artikel lezenGratis redirecttool
Voer een domein in en test de vier manieren waarop mensen het kunnen bereiken: http en https, met en zonder www. Elke variant hoort met één permanente redirect op hetzelfde HTTPS-adres uit te komen.
Druk op Enter om te controleren
Het edge-netwerk van Cloudflare valideert certificaten altijd, dus met deze optie kun je die controle niet overslaan. Certificaatproblemen worden in het resultaat gemeld.
Wordt met het eerste verzoek meegestuurd, tot 16 KB. JSON-bodies worden als application/json verstuurd en andere als formulier, tenzij je een Content-Type-header instelt.
1 tot 50. Browsers stoppen na 20.
Sites kunnen telefoons, crawlers en linkpreviewbots elk anders doorsturen.
Wordt met elk verzoek in de keten meegestuurd.
Geen aangepaste headers.
Voer een waarde in om deze header mee te sturen. Headerwaarden worden nooit opgeslagen.
Volg <meta http-equiv="refresh">-tags en Refresh-headers in HTML-pagina’s.
Volg eenvoudige, onvoorwaardelijke redirects zoals location.href = "…" in scripts op de pagina.
Instellingen worden in deze browser onthouden. Cookies, headerwaarden en de POST-body worden nooit opgeslagen.
Voor de host die je invoert, stelt TrueURL vier start-URL’s samen en volgt het ze alle vier:
http://example.comhttp://www.example.comhttps://example.comhttps://www.example.comBij een gezonde configuratie komen alle vier uit op één canonieke HTTPS-URL. Die versie antwoordt direct met 200 OK, en de andere drie komen er met één 301 of 308 op uit. Elke hop die van HTTPS terug naar HTTP gaat, wordt gemarkeerd.
TrueURL controleert ook HSTS. Het leest de Strict-Transport-Security-header uit de laatste HTTPS-response (normaal gesproken je canonieke URL) en toont de ruwe waarde, de max-age en of includeSubDomains en preload zijn ingesteld. Een max-age van minstens een jaar keurt TrueURL goed. Een kortere max-age, max-age=0, een header zonder geldige max-age of helemaal geen header wordt als waarschuwing getoond.
http://example.com naar https://example.com naar https://www.example.com. Combineer de regels voor protocol en host, zodat elke variant direct naar de eind-URL gaat (maar zie de uitzondering voor HSTS-preload hieronder).www, valt niet onder het certificaat. De edge van Cloudflare valideert certificaten altijd, dus die variant toont een TLS-fout in plaats van een redirect.www en niet-www komen op verschillende URL’s uit, waardoor signalen over twee hosts worden verdeeld.HSTS vertelt browsers dat ze voor je domein automatisch HTTPS moeten gebruiken, zonder eerst HTTP op te vragen. Een typische header is Strict-Transport-Security: max-age=31536000; includeSubDomains. Browsers accepteren hem alleen in HTTPS-responses en negeren hem bij gewone HTTP.
Wil je je domein laten opnemen in de HSTS-preloadlijst van browsers via hstspreload.org, dan moet de eerste hop vanaf HTTP op dezelfde host blijven: http://example.com naar https://example.com, en pas daarna naar https://www.example.com. Die keten van twee hops is de geaccepteerde uitzondering op de regel van één hop. De header heeft dan een max-age van minstens een jaar nodig, plus includeSubDomains en preload, en moet ook op de HTTPS-redirect zelf worden meegestuurd.
12 min. leestijd
Redirects controleren met TrueURL, curl en DevTools: lees elke hop van een redirectketen en los loops, lange ketens en gemengde 301- en 302-redirects op.
Artikel lezen13 min. leestijd
3xx-statuscodes uitgelegd: 301, 302, 303, 307 en 308 vergeleken. Permanent of tijdelijk, methode, caching en SEO, met nginx-, Apache- en PHP-voorbeelden.
Artikel lezenVoer hierboven je domein in. TrueURL vraagt de http://- en https://-versie op, met en zonder www, en laat zien waar elke versie uitkomt, welke statuscodes zijn gebruikt en hoeveel hops ervoor nodig waren. Je configuratie klopt als alle vier op dezelfde HTTPS-URL uitkomen en elke redirect permanent is.
Voor SEO maakt het niet uit. Waar het om gaat, is dat je er één kiest, de andere met een 301 daarnaar doorstuurt en de gekozen variant consequent gebruikt in links, canonical tags en je sitemap. Een www-host is soms makkelijker naar een CDN te laten verwijzen, omdat DNS geen CNAME-record op het hoofddomein toestaat (sommige DNS-providers bieden een workaround), maar dat is een technische keuze, geen rankingfactor.
Die “307 Internal Redirect” maakt Chrome zelf aan, omdat de site in de HSTS-lijst van Chrome staat; er is dus helemaal geen verzoek via HTTP verstuurd. De echte redirect van de server kan een 301 zijn of iets heel anders. TrueURL heeft geen HSTS-cache en toont dus altijd het werkelijke antwoord van de server.
Een klein probleem. Bezoekers komen nog steeds op HTTPS uit, maar een tijdelijke redirect vertelt zoekmachines dat de HTTP-URL kan terugkomen, waardoor de overstap trager of rommeliger kan verlopen. Verander hem in een 301 of 308.
Voer hierboven je domein in en open de HSTS-controle in de resultaten. TrueURL leest de Strict-Transport-Security-header uit de laatste HTTPS-response en toont de waarde, de max-age (met een waarschuwing bij minder dan een jaar) en of includeSubDomains en preload zijn ingesteld. Zonder die header begint elk bezoek via een getypt domein of een oude http://-link met een onversleuteld verzoek, dat iemand op hetzelfde netwerk kan onderscheppen. Met de header gaan browsers die hem al eens hebben gezien de volgende keer direct naar HTTPS. Begin met een korte max-age, controleer of elk subdomein via HTTPS werkt voordat je includeSubDomains toevoegt, en verhoog de waarde daarna tot een jaar of langer.
Je ziet het probleem, maar je komt er niet voorbij. Certificaatvalidatie kan op de edge van Cloudflare niet worden uitgeschakeld, ook niet als SSL-fouten negeren aanstaat, dus de betreffende variant toont bij die hop een TLS-fout. Meestal is dat precies wat je wilt weten: browsers tonen bezoekers daar ook een waarschuwing.
Elke URL. Een regel voor de hele site hoort http://example.com/any/path?query door te sturen naar hetzelfde pad en dezelfde query op HTTPS. Test een paar diepe URL’s met de Redirectketen-checker, of veel tegelijk met de Bulk-redirectchecker.