Htaccess-redirectgenerator

Elke keer dat u een blog migreert, uw URL-schema wijzigt of oude pagina’s samenvoegt, neemt het .htaccess-bestand van Apache het grootste deel van het opruimwerk op zich. Deze generator zet een eenvoudige bron- → doeltoewijzing om in de juiste RewriteRule-directives met de juiste flags, klaar om rechtstreeks in het .htaccess-bestand van de website te plakken.

Zo genereert u redirectregels

  1. 1

    Kies het redirecttype

    301 permanent voor SEO-veilige verplaatsingen; 302 tijdelijk voor A/B-tests en seizoensgebonden redirects.

  2. 2

    Voer bron en bestemming in

    Exacte paden of regex-patronen: het oude pad wordt het RewriteRule-patroon en de nieuwe URL de omleidingsbestemming.

  3. 3

    Controleer de flags

    Elke regel krijgt automatisch de juiste flag, `[R=301,L]` of `[R=302,L]`, zodat het blok direct met mod_rewrite werkt.

  4. 4

    Kopieer de directives

    Het gegenereerde blok komt in de sectie `<IfModule mod_rewrite.c>` van het .htaccess-bestand.

Directives voor `mod_rewrite` versus `mod_alias`

Apache biedt twee modules voor redirects; kies afhankelijk van de complexiteit van de regel.

Beslissingsgids

Vereiste Gebruik Voorbeeld
Exacte oude URL → exacte nieuwe URL Redirect Redirect 301 /old /new
Wildcardvoorvoegsel RedirectMatch RedirectMatch 301 ^/blog/(.*)$ /articles/$1
Overeenkomst op querystring RewriteRule Zie hieronder
HTTPS forceren RewriteRule RewriteCond %{HTTPS} off + regel
Voorwaardelijk (browser, cookie) RewriteRule Met RewriteCond

Voorbeeld: HTTPS met www forceren

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Voorbeeld: verplaats /blog/post-123 naar /articles/post-123

RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [L,R=301]

Flags die u zult zien

  • L, laatste; stop met het verwerken van verdere regels.
  • R=301 of R=302, doorsturen met deze statuscode.
  • NC, hoofdletterongevoelig.
  • QSA, voeg de oorspronkelijke querystring toe aan de nieuwe URL.
  • NE, hercodeer speciale tekens in de bestemming niet.

Veelvoorkomende fouten

  • RewriteEngine On vergeten, zonder deze regel heeft geen enkele RewriteRule effect.
  • Standaard 302 gebruiken, Google beschouwt dit als tijdelijk, waardoor de oude URL zijn positie blijft behouden.
  • Gekoppelde redirects (oud → tussenliggend → definitief), streef altijd naar één enkele hop; elke extra hop verliest linkwaarde en verhoogt de latentie.

Veelgestelde vragen

Gebruik 301 voor permanente wijzigingen, zoals migratie van een website, wijziging van de URL-slug of een upgrade naar HTTPS. Gebruik 302 alleen voor tijdelijke situaties, zoals het doorverwijzen naar een onderhoudspagina of een A/B-test. Zoekmachines dragen rankingsignalen over bij 301, maar niet betrouwbaar bij 302.

De meest voorkomende oorzaak is het vergeten van de voorloopschuine streep in het patroon. In RewriteRule komt het patroon overeen met het pad zonder de voorloopschuine streep (bijvoorbeeld ^blog/); in Redirect (mod_alias) begint het patroon juist met een schuine streep (bijvoorbeeld /blog). Meng deze twee conventies niet door elkaar.

Ja, gebruik RewriteCond %{QUERY_STRING} ^id=123$ vóór een RewriteRule. Een gewone Redirect leest de querystring niet; alleen RewriteRule kan erop matchen.

Ja, bij het volgende verzoek, Apache leest .htaccess bij elk verzoek opnieuw. Een herstart van de server is niet nodig. Als er niets gebeurt, controleer dan of AllowOverride All is ingesteld in de vhost voor de map.

Gerelateerde tools

Tool beschikbaar in andere talen