Entwicklung und Datenbanken

Sprechende URLs und mod_rewrite-Regeln einrichten

Geprüft am 3 Min. Lesezeit mod_rewrite .htaccess

Mit mod_rewrite-Regeln können Sie eine URL auf eine andere Ressource lenken oder eine Weiterleitung an den Browser zurückgeben. Bei Hostsuar interpretiert LiteSpeed Apache-kompatible Regeln. Welche Pfade nötig sind und wie sie aufgelöst werden, bestimmt die Anwendung.

Umschreiben und Weiterleiten

Ein internes Umschreiben kann index.php ausliefern, wenn Sie /productos aufrufen, und dabei diese URL im Browser beibehalten. Eine HTTP-Weiterleitung gibt ein Ziel zurück, und der Browser ruft eine andere Adresse auf. Beides ist nicht austauschbar: Eine Weiterleitung richtet nicht die internen Routen eines CMS ein.

Diese Zeile aktiviert die Verarbeitung von Regeln im jeweiligen Kontext:

RewriteEngine On

Allein erzeugt sie keine sprechenden URLs. Dafür braucht es die konkreten Regeln der Anwendung.

Die Regeln des Projekts anwenden

  1. Prüfen Sie das Stammverzeichnis der Domain und sichern Sie eine private Kopie der vorhandenen .htaccess.
  2. Entnehmen Sie die Regeln der Dokumentation der Anwendung für Ihre Installationsart, auch ob sie in einem Unterordner liegt oder eine Multisite ist.
  3. Liefert die Anwendung eine Datei wie htaccess.txt mit, prüfen Sie deren Inhalt, bevor Sie sie umbenennen. Gibt es bereits eine .htaccess, behalten Sie auch die Regeln bei, die das Hosting oder der Rest der Website braucht.
  4. Aktivieren Sie gegebenenfalls die Option für sprechende URLs oder Permalinks der Anwendung.
  5. Testen Sie eine Unterseite, eine statische Datei und eine nicht existierende Adresse.

In WordPress kann Einstellungen > Permalinks die Regeln neu erzeugen, wenn WordPress die Datei schreiben darf; andernfalls zeigt es Anweisungen zum manuellen Einfügen. Ersetzen Sie die Regeln eines Multisite-Netzwerks nicht durch die einer einfachen Installation.

Das Ergebnis prüfen

  • Funktioniert die Startseite, geben Unterseiten aber 404 zurück, prüfen Sie den Ort der Regeln, das Stammverzeichnis der Domain und die Routenkonfiguration der Anwendung.
  • Entsteht eine Schleife, prüfen Sie die Regeln für HTTPS, www und Unterordner sowie die Weiterleitungen in der Anwendung oder im Proxy.
  • Erscheint ein Fehler 500, machen Sie die Änderung rückgängig und sehen Sie ins Log: Es kann ein Syntaxfehler oder eine nicht erlaubte Direktive vorliegen.

In der .htaccess wird das Muster von RewriteRule relativ zu diesem Verzeichnis ausgewertet und beginnt normalerweise nicht mit /. Eine Regel aus der Hauptkonfiguration des Servers muss gegebenenfalls angepasst werden. Lesen Sie die offizielle Einführung in mod_rewrite, wenn Sie eigene Regeln erstellen.

Behalten Sie alte URLs bei, die noch genutzt werden, und richten Sie Weiterleitungen auf ihr Gegenstück ein, wenn Sie die Struktur ändern. Leiten Sie nicht alle auf die Startseite um: Jedes Ziel sollte dem Inhalt entsprechen, den der Besucher gesucht hat.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.