mod_rewrite ist ein Apache-Modul, das eine regelbasierte Rewriting-Engine verwendet. Es wird zum Übersetzen und Umleiten der angeforderten URL zu einer neuen URL verwendet. Es ermöglicht die dynamische Änderung einer URL. Der Besucher sieht also nie die URL-Änderung in der Adressleiste. Mit mod_rewrite können Sie eine unbegrenzte Anzahl von Regeln umschreiben. Dadurch können Sie die URL basierend auf Umgebungsvariablen, HTTP-Headern und Servervariablen umschreiben.
In diesem Beitrag zeigen wir, wie man mod_rewrite verwendet, um die URL für Apache auf Ubuntu VPS umzuschreiben.
Voraussetzungen
- Ubuntu 20.04 VPS (wir verwenden unseren NVMe 2 VPS-Plan)
- Zugriff auf das Root-Benutzerkonto (oder Zugriff auf ein Administratorkonto mit Root-Rechten)
Schritt 1:Melden Sie sich beim Server an und aktualisieren Sie die Server-OS-Pakete
Melden Sie sich zunächst über SSH als Root-Benutzer bei Ihrem Ubuntu 20.04-Server an:
ssh root@IP_Address -p Port_number
Sie müssen „IP_Address“ und „Port_number“ durch die jeweilige IP-Adresse und SSH-Portnummer Ihres Servers ersetzen. Außerdem sollten Sie „root“ bei Bedarf durch den Benutzernamen des Administratorkontos ersetzen.
Bevor wir mit der Installation beginnen, sollten wir sicherstellen, dass alle auf dem Server installierten Ubuntu-Betriebssystempakete aktualisiert sind. Sie können dies tun, indem Sie die folgenden Befehle ausführen:
apt-get update -y apt-get upgrade -y
Schritt 2:Apache-Webserver installieren
Bevor Sie beginnen, stellen Sie sicher, dass das Apache-Webserver-Paket auf Ihrem System installiert ist. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
apt-get install apache2 -y
Sobald das Paket installiert ist, starten Sie den Apache-Dienst mit dem folgenden Befehl:
systemctl start apache2
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://your-server-ip ein um den Apache-Webserver zu überprüfen. Wenn alles in Ordnung ist, sollten Sie die Apache-Testseite sehen:
Schritt 3:Aktivieren Sie mod_rewrite
Standardmäßig wird das Modul mod_rewrite mit dem Apache-Paket installiert, aber es ist deaktiviert. Sie müssen es also zuerst aktivieren.
Sie können es mit dem folgenden Befehl aktivieren:
a2enmod rewrite
Starten Sie als Nächstes den Apache-Dienst neu, um die Änderungen zu übernehmen.
Überprüfen Sie als Nächstes das Apache-Modul mod_rewrite mit dem folgenden Befehl:
apache2ctl -M | grep rewrite_module
Sie sollten die folgende Ausgabe erhalten:
rewrite_module (shared)
Schritt 4:.htaccess-Dateien aktivieren
Sie können Rewrite-Regeln direkt in der Hauptkonfigurationsdatei von Apache einrichten. Es wird jedoch empfohlen, Regeln in die .htaccess-Datei auf jeder Website zu schreiben.
Standardmäßig erlaubt Apache nicht die Verwendung von .htaccess-Dateien. Daher müssen Sie die .htaccess-Datei in Ihrer standardmäßigen virtuellen Host-Konfigurationsdatei aktivieren.
Bearbeiten Sie dazu die Apache-Standardkonfigurationsdatei für den virtuellen Host:
nano /etc/apache2/sites-available/000-default.conf
Fügen Sie die folgenden Zeilen vor der Zeile :
hinzu<Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory>
Achten Sie darauf, die Datei zu speichern und zu schließen, und starten Sie dann den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart apache2
Schritt 5:URL-Umschreibungen konfigurieren
Um zu verstehen, wie URL-Umschreibungen funktionieren, erstellen wir eine home.html-Seite im Stammverzeichnis des Apache-Dokuments. Wir werden dann eine grundlegende URL-Umschreibung einrichten, die den Zugriff auf die Seite http://your-server-ip/home ermöglicht und sie in den tatsächlichen Seitenpfad http://your-server-ip/home.html konvertiert. P>
Lassen Sie uns zuerst eine home.html-Seite erstellen:
nano /var/www/html/home.html
Fügen Sie den folgenden Inhalt hinzu:
<html> <head> <title>Home</title> </head> <body> <h1>Home Page</h1> <h2>This is my home page</h2> </body> </html>
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Erstellen Sie als Nächstes eine .htaccess-Datei im standardmäßigen Dokumentstammverzeichnis der Website, um mod_rewrite zu testen.
nano /var/www/html/.htaccess
Fügen Sie zunächst die folgende Zeile hinzu, um die Rewrite-Engine zu aktivieren:
RewriteEngine on
Fügen Sie als Nächstes die folgende Rewrite-Regel hinzu, die Besucher zu home.html umleitet, wenn sie die Seite http://your-server-ip/home.
anfordernRewriteRule ^home$ home.html [NC]
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Nachfolgend finden Sie eine kurze Erläuterung der Syntax der Umschreibungsregel:
- ^ Dies entspricht jedem Text nach der Server-IP-Adresse.
- $ Dies zeigt das Ende der URL an.
- Zuhause Dies entspricht dem tatsächlichen String home
- home.html Dies definiert die eigentliche Datei, auf die der Besucher zugreift.
- [NC] Dadurch wird die Groß-/Kleinschreibung in der Regel ignoriert.
Sie können jetzt die Homepage unter http://your-server-ip/home besuchen in Ihrem Webbrowser. Apache leitet auf die Seite home.html um, wie unten gezeigt:
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie einzurichten. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.