Htaccess Weiterleitungs-Generator

Jedes Mal, wenn Sie einen Blog migrieren, Ihr URL-Schema ändern oder alte Seiten zusammenführen, übernimmt Apaches .htaccess den Großteil der Bereinigung. Dieser Generator verwandelt eine einfache Quell- → Zielzuordnung in die richtigen RewriteRule-Direktiven mit den richtigen Flags, bereit zum Einfügen in die .htaccess-Datei der Website.

So generieren Sie Weiterleitungsregeln

  1. 1

    Wählen Sie den Weiterleitungstyp

    301 permanent für SEO-sichere Bewegungen, 302 temporär für A/B-Tests und saisonale Weiterleitungen.

  2. 2

    Geben Sie Quelle und Ziel ein

    Exakte Pfade oder Regex-Muster: Der alte Pfad wird zum RewriteRule-Muster, die neue URL zum Weiterleitungsziel.

  3. 3

    Die Flags prüfen

    Jede Regel erhält automatisch das richtige Flag, `[R=301,L]` oder `[R=302,L]`, sodass der Block direkt mit mod_rewrite funktioniert.

  4. 4

    Die Direktiven kopieren

    Der generierte Block kommt in den `<IfModule mod_rewrite.c>` Abschnitt von .htaccess.

mod_rewrite vs mod_alias Direktiven

Apache bietet zwei Module für Weiterleitungen. Wählen Sie basierend auf der Komplexität der Regel.

Entscheidungsleitfaden

Anforderung Verwenden Beispiel
Exakte alte URL → exakte neue URL Redirect Redirect 301 /old /new
Platzhalter-Präfix RedirectMatch RedirectMatch 301 ^/blog/(.*)$ /articles/$1
Abfragezeichenfolgenübereinstimmung RewriteRule Siehe unten
HTTPS erzwingen RewriteRule RewriteCond %{HTTPS} off + Regel
Bedingte (Browser, Cookie) RewriteRule Mit RewriteCond

Beispiel: HTTPS mit www erzwingen

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

Beispiel: /blog/post-123 nach /articles/post-123 verschieben

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

Flags, die Sie sehen werden

  • L, letzte, nicht weiterverarbeiten.
  • R=301 oder R=302, Weiterleitung mit diesem Statuscode.
  • NC, Groß-/Kleinschreibung ignorieren.
  • QSA, ursprüngliche Abfragezeichenfolge an die neue URL anhängen.
  • NE, spezielle Zeichen im Ziel nicht erneut kodieren.

Häufige Fehler

  • Vergessen von RewriteEngine On, ohne es hat keine RewriteRule irgendeine Wirkung.
  • Standardmäßig 302 verwenden, Google behandelt es als temporär, sodass die alte URL weiterhin eingestuft wird.
  • Verkettete Weiterleitungen (alt → zwischen → final), immer auf einen einzigen Sprung abzielen; jeder zusätzliche Sprung verliert Linkwert und erhöht die Latenz.

Häufig gestellte Fragen

Verwenden Sie 301 für permanente Bewegungen: Website-Migration, Änderung des URL-Slugs, HTTPS-Upgrade. Verwenden Sie 302 nur für temporäre Situationen, wie das Umleiten zu einer Wartungsseite oder einem A/B-Test. Suchmaschinen übertragen Ranking-Signale bei 301, nicht zuverlässig bei 302.

Die häufigste Ursache ist das Vergessen des führenden Schrägstrichs im Muster. In RewriteRule entspricht das Muster dem Pfad ohne den führenden Schrägstrich (z. B. ^blog/). In Redirect (mod_alias) beginnt das Muster mit einem Schrägstrich (/blog). Mischen Sie die beiden Konventionen nicht.

Ja, verwenden Sie RewriteCond %{QUERY_STRING} ^id=123$ vor einer RewriteRule. Ein einfaches Redirect liest die Abfragezeichenfolge nicht; nur RewriteRule kann darauf übereinstimmen.

Ja, bei der nächsten Anfrage, Apache liest .htaccess bei jeder Anfrage neu. Kein Serverneustart erforderlich. Wenn nichts passiert, überprüfen Sie, ob AllowOverride All im vhost für das Verzeichnis gesetzt ist.

Verwandte Tools

Tool in anderen Sprachen verfügbar