.htaccess-omdirigerings-generator
Generer 301- og 302-omdirigeringer for .htaccess eller Nginx, tving HTTPS og www, flytt domene og fiks skråstreker, med sjekker for løkker og kjeder.
Sikkerhetskopier gjeldende konfigurasjon først, og test med 302 før du bytter til 301: nettlesere mellomlagrer permanente omdirigeringer.
Sjekker
Ingen problemer funnet.
Slik bruker du .htaccess-omdirigeringsgeneratoren
- Velg Server: Apache (.htaccess) eller Nginx, og deretter Omdirigeringstype: 301 – permanent eller 302 – midlertidig.
- I Side-omdirigeringer skriver du én omdirigering per linje: den gamle stien, et mellomrom, og deretter den nye URL-en, for eksempel
/gammel-side.html /ny-side/. En tabulator, et komma eller->fungerer også, og du kan lime inn hele gamle URL-er eller eksisterendeRedirect 301 /a /b-linjer. - Om du vil, skriver du inn Ditt domene (for eksempel
example.com) slik at sideomdirigeringene peker direkte til den endelige adressen. - Under Kanonisk adresse krysser du av for Tving HTTPS og velger Tving www, Fjern www eller La www være som den er. Under Etterfølgende skråstrek velger du om du vil legge til eller fjerne den.
- Hvis hele nettstedet flyttet, fyller du inn Flytt hele domenet med Gammelt domene og Ny adresse, og lar Behold stien stå avkrysset slik at hver side havner på den tilsvarende siden.
- Les Sjekker-listen, og Kopier eller Last ned reglene. Bruk Last inn eksempel for å se en komplett konfigurasjon.
Slik fungerer de genererte reglene
For Apache skriver verktøyet mod_rewrite-regler, som starter med en enkelt RewriteEngine On. Hver side blir en RewriteRule hvis mønster starter med ^/?, slik at mønsteret fungerer både i en .htaccess-fil (der den innledende skråstreken fjernes) og i en <VirtualHost>-blokk. Punktum, parenteser, plusstegn og andre spesialtegn i regulære uttrykk i stiene dine escapes, og et mellomrom blir \x20. I den nye URL-en escapes $ og % fordi Apache ellers ville lest dem som referanser, og NE-flagget hindrer Apache i å kode URL-en en gang til.
En RewriteRule ser aldri spørringsstrengen. Når en gammel adresse har en, som /produkt.php?id=42, legger verktøyet til en linje med RewriteCond %{QUERY_STRING} ^id=42$ og QSD-flagget, slik at de gamle parameterne fjernes i stedet for å bli kopiert over til den nye siden.
Reglene er ordnet for å unngå unødvendige hopp: domeneflytting først, deretter sideomdirigeringer, så skråstrek og til slutt HTTPS og www. HTTPS og www håndteres av én regel, så http://www.example.com går til https://example.com i én enkelt omdirigering. Når du har fylt ut domenet ditt, peker side- og skråstrekomdirigeringene allerede til den endelige HTTPS-adressen.
For Nginx blir HTTPS, www og domeneflyttinger egne server-blokker med return 301, og sideomdirigeringer blir rewrite-linjer du limer inn i den vanlige server-blokken din. De kjører før location-matchingen, så de går også foran skråstrekregelen. Et ? på slutten av målet hindrer Nginx i å legge til den gamle spørringsstrengen der den ikke skal være.
Kontroller som utføres
- En side som omdirigerer til seg selv, eller to sider som omdirigerer til hverandre (en løkke som ender i «for mange omdirigeringer»).
- Kjeder som A → B → C: pek A direkte til C, fordi hvert ekstra hopp forsinker besøkende og bruker opp crawl-budsjettet.
- Samme gamle adresse oppført to ganger, der bare den første regelen ville gjelde.
- Et mål som verken er en absolutt URL eller en sti som starter med
/, eller et mål på ditt eget domene som brukerhttp://eller feil www-variant. - En skråstrekinnstilling som ville omdirigert et mål på nytt eller sendt det tilbake til kilden.
Ofte stilte spørsmål
Skal jeg bruke 301 eller 302?
Bruk 301 når flyttingen er permanent: søkemotorer overfører signalene til den gamle siden til den nye og oppdaterer indeksen sin. Bruk 302 for midlertidige endringer som vedlikehold eller en kort kampanje. Nettlesere mellomlagrer 301-omdirigeringer, så test med 302 først.
Hvor skal jeg legge .htaccess-filen?
I roten av nettstedet (ofte public_html eller www), ved siden av index.php eller index.html. Den nedlastede filen heter htaccess.txt: gi den navnet .htaccess, eller lim reglene inn øverst i en eksisterende fil. Ta en sikkerhetskopi av originalen først.
Hvorfor RewriteRule i stedet for Redirect 301?
Redirect-linjer kommer fra mod_alias og kjører i en annen fase enn RewriteRule. Hvis du blander begge i én fil, blir rekkefølgen vanskelig å forutsi. Med bare mod_rewrite ligger alle reglene i én forutsigbar rekkefølge, og spørringsstrenger kan matches.
Nettstedet mitt viser «for mange omdirigeringer» etter at jeg tvang HTTPS. Hvorfor?
Bak en lastbalanserer, et CDN eller en proxy som avslutter HTTPS, ser Apache forespørslene som vanlig HTTP, så %{HTTPS} er alltid av. Test i stedet den videresendte headeren, for eksempel RewriteCond %{HTTP:X-Forwarded-Proto} !https, eller slå på omdirigeringen i CDN-et.
Endrer dette verktøyet serveren min?
Nei. Det genererer bare tekst i nettleseren din. Ingenting sendes noe sted, og du bestemmer selv hvor og hvordan reglene installeres.
Relaterte verktøy
- Robots.txt-generator Opprett en gyldig robots.txt-fil med bruker-agent-grupper, Tillat- og Ikke-tillat-regler, sitemaps og crawl-delay, med sjekker for vanlige feil.
- Hreflang-tag-generator Generer hreflang-tagger for flerspråklige sider som HTML link-tagger, XML sitemap-oppføringer eller HTTP Link-headere, med ISO-kode- og gjensidighetssjekker.
- Meta-tag-generator Gratis meta-tag-generator for tittel, meta-beskrivelse, canonical-URL, robots og viewport-tagger, med lengdesjekker og riktig escaped HTML.
- URL-koding og -dekoding Gratis URL-koder og -dekoder. Prosentkod spørringsparametere eller hele URL-er, dekod %XX-sekvenser og behandle + som mellomrom. Kjører i nettleseren din.