So richten Sie Mod_Rewrite ein

click fraud protection

Das Apache Webserver ist einer der Hauptbausteine ​​des Internets, der Websites und Anwendungen bereitstellt. Es ist ein komplexes System mit vielen Optionen, und eine der wichtigsten ist das Rewrite Module, kurz "mod_rewrite". In diesem Artikel werfen wir einen Blick auf die Verwendungsmöglichkeiten von mod_rewrite und untersuchen dann, wie Sie es auf Ihrer eigenen Apache-basierten Site einrichten.

Der Zweck des Apache Rewrite-Moduls

Der Zweck dieses Moduls besteht darin, URLs auf verschiedene nützliche Weise umzuschreiben. Das bedeutet, dass Benutzer, die über eine URL auf Ihre Website gelangen (entweder durch Eingabe oder Auswahl eines Links mit dieser URL), auf einer anderen URL "zurückkommen". Es gibt eine Reihe von Gründen, warum Sie dies tun möchten.

Weiterleiten von Benutzern

Sie können mod_rewrite verwenden, um Benutzer von älteren, veralteten Seiten, die möglicherweise noch in den Suchergebnissen erscheinen, auf neuere, aktuelle Seiten umzuleiten. Angenommen, Sie haben eine Seite unter https://www.mysite.com/review2015; Wenn jemand darauf als Link stößt und ihn auswählt, können Sie ihn mithilfe einer Rewrite-Regel weiterleiten http://www.mysite.com/review2019.

instagram viewer

URLs leichter zu merken

Sie haben wahrscheinlich Links zu E-Commerce mit URLs wie. gesehen https://www.thestore.net/3d78654954c29ace998658. Entwickler verwenden Labels wie diese, um sicherzustellen, dass Artikel eine eindeutige Kennung haben, aber für Nicht-Techniker ist es schwer, sich daran zu erinnern.

Glücklicherweise kann Ihnen eine Re-Write-Regel dabei helfen, eine schöne URL zu veröffentlichen, wie zum Beispiel https://www.thestore.net/notebooks/spiral/3-subject-spiral/, die, wenn sie befolgt wird, einen Besucher zu dem mit der hässlichen URL führt.

Eindeutige Seitennamen

In den Anfangstagen des Webs war es üblich, beim Besuch einer Website den tatsächlichen Namen von Seitendateien zu sehen. Die Seite "Über uns" einer Website könnte beispielsweise " http://www.someguys.org/about.html."

Aber es gibt ein paar Gründe, warum Sie diese nicht mehr oft sehen. Der erste ist, dass viele Websites von Content-Management-Systemen betrieben werden, die nur über eine Handvoll tatsächlicher Seitendateien verfügen. Der Rest des Inhalts wird bei der Bereitstellung der Seite dynamisch hinzugefügt, sodass alle Seiten möglicherweise dieselbe URL haben, z. B. " http://www.someguys.org/index.php." Das URL-Rewriting ermöglicht es Ihnen, das Aussehen dieser separaten Seiten zu erhalten, während Sie weiterhin ein dynamisches CMS zur Verwaltung Ihrer Website verwenden.

Verständlichere URLs

Suchmaschinen bewerten Seiten höher, wenn sie leicht verständliche URLs haben. Dies bedeutet, dass es für Websites von Vorteil ist, eine URL wie " https://www.thecompany.com/services/consulting" Anstatt von " https://www.thecompany.com/index.php? section=services&page=consulting", da der letzte Teil eher wie Code als eine URL aussieht.

Rewriting stellt sicher, dass Sie aus der URL-Perspektive immer Ihr Bestes geben.

So richten Sie mod_rewrite auf Ihrer Site ein

Die Verwendung des URL-Rewritings auf Apache erfordert zwei Hauptkomponenten:

  • Aktivieren des eigentlichen Rewrite-Moduls in Apache
  • Auflistung der notwendigen Rewrite-Regeln in einer .htaccess-Datei.

Während die Verwendungen für das URL-Rewriting gleichermaßen für andere Webserver wie IIS oder nginx gelten, gelten mod_rewrite und die folgenden Methoden nur für Apache.

Aktivieren Sie die Rewrite-Funktion in Apache

Zuerst müssen Sie die Rewriting-Funktion in Ihrer Apache-Installation aktivieren.

  1. Sie müssen herausfinden, wo sich die Konfigurationsdatei Ihres Apache befindet. Dies hängt vom verwendeten Installationsprogramm ab.

    • Unter Windows sollten Sie im Apache-Installationsverzeichnis nach einem Verzeichnis namens "/conf" suchen.
    • Auf dem beliebten XAMPP-Installationsprogramm von macOS befindet es sich in /Applications/XAMPP/xamppfiles/apache2/conf.
    • Unter Linux würde es im Verzeichnis /etc/apache2 erscheinen. Auf jeden Fall suchen Sie nach einer Datei namens "httpd.conf", "http.conf" oder "apache2.conf", damit Sie auch die Suchfunktion Ihres Betriebssystems verwenden können, um nach diesen zu suchen.
  2. Öffnen Sie die Konfigurationsdatei in einem Texteditor wie Windows-Notizblock oder TextBearbeiten auf macOS.

  3. Suchen Sie nach der Zeile "#LoadModule rewrite_module modules/mod_rewrite.so" und entfernen Sie den Hashtag am Anfang. Dies bezeichnet einen Kommentar, was bedeutet, dass der Apache-Server alles in dieser Zeile ignoriert. Entfernen Sie den Hashtag, und das nächste Mal führt Apache diese Zeile beim Start aus.

  4. Speichern Sie die Konfigurationsdatei und starten Sie den Apache-Server neu.

  5. Alternativ sehen Sie bei einigen Linux-Versionen einige Verzeichnisse wie "/etc/apache2/mods-available" und "/etc/apache2/mods-aktiviert." Diese enthalten Teile von Konfigurationsdateien, die zusammengestellt sind dynamisch. In diesem Fall können Sie die folgenden Befehle ausführen, um zuerst das Rewrite-Modul zu aktivieren und dann den Apache-Server neu zu starten:

    sudo a2enmod rewrite
    systemctl Neustart von Apache2
  6. Jetzt ist Ihr Apache-Server bereit, URLs für Sie neu zu schreiben. Erst jetzt müssen Sie ihm sagen, welche umgeschrieben werden sollen und unter welchen Umständen.

Definieren von Mod_Rewrite-Regeln auf Ihrer Site

Sie müssen die Regeln für mod_rewrite mit der Sprache für reguläre Ausdrücke definieren. Glücklicherweise gibt es etwas Hilfe. Für eine bestimmte Umschreibung, die Sie aktivieren möchten, können Sie ein Tool wie den Regelgenerator von VisioSpark verwenden.

  1. Geben Sie die URL ein, von der aus Sie umschreiben möchten, d. h. die URL, die ein Benutzer eingeben wird, im Von: Feld.

  2. Geben Sie die URL ein, auf die Sie umschreiben möchten, d. h. die URL, auf die der Benutzer landet, im Zu: Feld.

    GUI-Rewrite-Regelgeneratoren können Ihnen das Erlernen von RegEx ersparen
  3. Wählen Sie das Captcha-Steuerelement und dann Gehen. Der Generator sollte dann ein Ergebnis liefern, das mit "RewriteRule.

    Wenn Sie einen anderen Generator finden, können diese Schritte etwas anders sein, aber hoffentlich im selben Stadion.

Mod_Rewrite-Regeln für Ihre Site eingeben

Dies ist also eine großartige Möglichkeit, diese Regeln per Mausklick zu erstellen. Aber wo legst du sie hin?

Um Regeln auf einer Website zu verwenden, müssen Sie im Stammverzeichnis der Website eine Datei namens ".htaccess" erstellen. Es ist etwas plattformabhängig, wo die Dateien für eine bestimmte Website gespeichert werden, aber Sie müssen das herausgefunden haben, um Ihre Website überhaupt dort bereitzustellen.

Möglicherweise existiert bereits eine Datei mit diesem Namen. Wenn ja, super! Sie können dieser Datei einfach Ihre Zeilen hinzufügen.

  1. Erstellen Sie eine neue Textdatei mit dem Namen ".htaccess" im Stammverzeichnis Ihrer Website.

  2. Geben Sie in der ersten Zeile den folgenden Code ein. Dies teilt dem Server mit, dass Sie das Umschreiben für die aktuelle Website aktivieren möchten.

    RewriteEngine an
  3. Als nächstes fügen Sie jede der Zeilen hinzu, die Sie mit dem Generator erstellt haben. Der Anfang unserer Datei würde so aussehen:

    RewriteEngine an
    RewriteRule ^notebooks/spiral/3-subject-spiral/$ /3d78654954c29ace998658?&%{QUERY_STRING}
  4. Wie bei jeder Änderung der Apache-Konfiguration ist es eine gute Idee, den Server neu zu starten.

Die Verwendung von Mod_Rewrite braucht Zeit, aber die Ergebnisse sind es wert

Die Verwendung der mod_rewrite-Funktion auf Apache erfordert definitiv einige Mühe. Sie müssen mit textbasierten Konfigurationsdateien herumfummeln, einen Weg finden, um sehr knifflige reguläre Ausdrücke in diese Dateien zu bekommen, und wissen, wie Sie den Dienst manuell stoppen und neu starten. Es wird wahrscheinlich viel Ausprobieren erfordern, bevor Sie etwas erhalten, das nicht zu einem Fehler führt und sich richtig verhält.

Das heißt, wenn Sie einmal den Dreh raus haben, werden Sie von mod_rewrite großen Nutzen ziehen. Ihre Besucher können sich Ihre URLs besser merken und Ihr Ranking bei Google wird sich wahrscheinlich verbessern. Die resultierenden "hübschen URLs" sind schließlich nicht nur zur Schau. Funktionell sind sie auch.

instagram story viewer