.htaccess-omdirigeringsgenerator
Generér 301- og 302-omdirigeringer til .htaccess eller Nginx, gennemtving HTTPS og www, flyt et domæne og ret skråstreger, med kontrol af løkker og kæder.
Tag først en sikkerhedskopi af din nuværende konfiguration, og test med 302, før du skifter til 301: browsere gemmer permanente omdirigeringer i cachen.
Kontrol
Ingen problemer fundet.
Sådan bruger du .htaccess-omdirigeringsgeneratoren
- Vælg din Server: Apache (.htaccess) eller Nginx, og derefter Type af omdirigering: 301 – permanent eller 302 – midlertidig.
- Under Sideomdirigeringer skriver du én omdirigering pr. linje: den gamle sti, et mellemrum og den nye adresse, for eksempel
/gammel-side.html /ny-side/. En tabulator, et komma eller->virker også, og du kan indsætte hele gamle adresser eller eksisterende linjer somRedirect 301 /a /b. - Angiv eventuelt Dit domæne (valgfrit) (for eksempel
example.dk), så sideomdirigeringer peger direkte på den endelige adresse. - Under Kanonisk adresse sætter du kryds ved Gennemtving HTTPS og vælger Gennemtving www, Fjern www eller Lad www stå, som det er. Under Afsluttende skråstreg vælger du, om den skal tilføjes eller fjernes.
- Hvis hele websitet er flyttet, udfylder du Flyt hele domænet med Gammelt domæne og Ny adresse (absolut adresse) og lader Behold stien være markeret, så hver side lander på sin tilsvarende.
- Læs Kontrol, og Kopiér eller Download derefter reglerne. Brug Indlæs et eksempel for at se en komplet konfiguration.
Alt kører i din browser. Intet, du indtaster, sendes til en server.
Sådan virker de genererede regler
Til Apache skriver værktøjet mod_rewrite-regler, der begynder med ét enkelt RewriteEngine On. Hver side bliver til en RewriteRule, hvis mønster begynder med ^/?, så den virker både i en .htaccess-fil (hvor den indledende skråstreg fjernes) og i en <VirtualHost>-blok. Punktummer, klammer, plustegn og andre tegn fra regulære udtryk i dine stier escapes, og et mellemrum bliver til \x20. I den nye adresse escapes $ og %, fordi Apache ellers ville læse dem som tilbagereferencer, og flaget NE forhindrer Apache i at kode adressen en gang til.
En RewriteRule ser aldrig forespørgselsstrengen. Når en gammel adresse indeholder en, fx /produkt.php?id=42, tilføjer værktøjet en linje RewriteCond %{QUERY_STRING} ^id=42$ og flaget QSD, så de gamle parametre droppes i stedet for at blive kopieret til den nye side.
Reglerne er sorteret, så der undgås unødvendige hop: først domæneflytning, derefter sideomdirigeringer, så den afsluttende skråstreg og til sidst HTTPS og www. HTTPS og www håndteres af én regel, så http://www.example.dk går til https://example.dk i én enkelt omdirigering. Når dit domæne er kendt, peger side- og skråstregsomdirigeringer allerede på den endelige HTTPS-adresse.
Til Nginx bliver HTTPS, www og domæneflytninger til separate server-blokke med return 301, og sideomdirigeringer bliver til rewrite-linjer, som du indsætter i din hoved-server-blok. De kører før location-matchning, så de også vinder over reglen for afsluttende skråstreg. Et ? i slutningen af et mål forhindrer Nginx i at tilføje den gamle forespørgselsstreng, når det ikke skal.
Kontroller, der udføres
- En side, der omdirigerer til sig selv, eller to sider, der omdirigerer til hinanden (en løkke, der ender i »for mange omdirigeringer«).
- Kæder som A → B → C: lad A pege direkte på C, for hvert ekstra hop gør besøgende langsommere og spilder crawl-budget.
- Den samme gamle adresse anført to gange, hvor kun den første regel ville gælde.
- Et mål, der hverken er en absolut adresse eller en sti, der begynder med
/, eller ethttp://-mål eller mål med forkert www på dit eget domæne. - En indstilling for afsluttende skråstreg, der ville omdirigere et mål igen eller sende det tilbage til dets kilde.
Ofte stillede spørgsmål
Skal jeg bruge 301 eller 302?
Brug 301, når flytningen er permanent: søgemaskiner overfører den gamle sides signaler til den nye og opdaterer deres indeks. Brug 302 til midlertidige ændringer som vedligeholdelse eller en kort kampagne. Browsere gemmer 301-omdirigeringer i cachen, så test først med 302.
Hvor lægger jeg .htaccess-filen?
I websitets rodmappe (ofte public_html eller www), ved siden af index.php eller index.html. Den downloadede fil hedder htaccess.txt; omdøb den til .htaccess, eller indsæt reglerne øverst i din eksisterende fil. Behold en sikkerhedskopi af originalen.
Hvorfor bruge RewriteRule i stedet for Redirect 301?
Redirect-linjer kommer fra mod_alias og kører i en anden fase end RewriteRule. Hvis man blander begge i én fil, bliver rækkefølgen svær at forudsige. Når du kun bruger mod_rewrite, ligger alle regler i én forudsigelig rækkefølge, og forespørgselsstrenge kan matches.
Mit site viser »for mange omdirigeringer«, efter jeg har gennemtvunget HTTPS. Hvorfor?
Bag en load balancer, et CDN eller en proxy, der afslutter HTTPS, ser Apache hver forespørgsel som almindelig HTTP, så %{HTTPS} altid er slået fra. Test i det tilfælde den videresendte header i stedet, for eksempel RewriteCond %{HTTP:X-Forwarded-Proto} !https, eller aktivér omdirigeringen i CDN’et.
Ændrer værktøjet noget på min server?
Nej. Det genererer kun tekst i din browser. Intet sendes nogen steder hen, og du bestemmer selv, hvor og hvordan reglerne installeres.
Relaterede værktøjer
- Robots.txt-generator Lav en gyldig robots.txt-fil med user-agent-grupper, Allow- og Disallow-regler, sitemaps og crawl-delay, med kontrol af almindelige fejl.
- Hreflang-generator Generér hreflang-tags til flersprogede sider som HTML-link-tags, XML-sitemap-poster eller HTTP Link-headere, med kontrol af ISO-koder og gensidighed.
- Metatag-generator Gratis metatag-generator til titel, metabeskrivelse, canonical-adresse, robots og viewport, med kontrol af længde og korrekt escapet HTML.
- URL-koder og -afkoder Gratis URL-koder og -afkoder. Procentkod forespørgselsparametre eller hele URL'er, afkod %XX-sekvenser, og behandl + som mellemrum. Kører i din browser.