Eine .htaccess-Datei oder eine verteilte Konfigurationsdatei ist eine robuste Datei, mit der die Konfigurationen einer Website gesteuert und verwaltet werden. Alle Konfigurationsänderungen werden verzeichnisweise vorgenommen, um sicherzustellen, dass die Hauptkonfigurationsdateien des Servers unberührt bleiben.
Wann die Verwendung der .htaccess-Datei bevorzugt wird
Egal, ob Sie Fehlerseiten laden oder eine Passwortsicherheit implementieren möchten, eine .htaccess-Datei hat eine Vielzahl von Verwendungsmöglichkeiten. Einige der häufigsten Beispiele sind:
-
Hinzufügen von Weiterleitungen für eine bestimmte URL oder eine Liste von URLs.
-
Aktivieren des Passwortschutzes für bestimmte Verzeichnisse auf einem Server.
-
Laden von benutzerdefinierten Fehlerseiten.
-
Erzwingen der Verwendung von HTTPS anstelle von HTTP für eine Website.
-
Blockieren von gezielten IPs oder Domains.
In dieser Anleitung führen wir Sie durch die Schritte, um die .htaccess-Datei zu aktivieren, zu erstellen und zu verwenden.
Voraussetzungen
Um diesem Tutorial zu folgen, müssen Sie Folgendes haben:
-
Die neueste Version von Ubuntu ist installiert auf Ihrem System.
-
Apache-Webserver muss auf Ihrem Ubuntu-Server installiert sein.
-
Ein eingerichteter virtueller Apache-Host für Ihre Domain.
-
Systembenutzer müssen über sudo-Rechte verfügen.
-
Gesicherter virtueller Host mit SSL.
-
Folgen Sie Sichern von Apache mit Let’s Encrypt auf Ubuntu 18.04 wenn Sie Apache unter Verwendung Ihrer benutzerdefinierten Domain konfigurieren und sichern.
-
Alternativ können Sie ein selbstsigniertes SSL-Zertifikat für Apache in Ubuntu 20.04 erstellen wenn Sie beabsichtigen, Apache für Testzwecke zu verwenden.
-
|
Hinweis: Es gibt viele Domain-Anbieter, bei denen Sie den Kauf von benutzerdefinierten Domains online in Betracht ziehen können. Namecheap, Freenom, und Bluehost, um nur einige zu nennen, sind für ihren außergewöhnlichen Service bekannt. |
Sobald Sie mit der Ersteinrichtung fertig sind, melden Sie sich auf Ihrem Server als sudo-Benutzer an, und lassen Sie uns beginnen.
Schritt 1 — Aktivieren der .htaccess-Datei
Standardmäßig ist die .htaccess-Datei deaktiviert. Wir müssen zuerst die Apache-Konfiguration ändern und die .htaccess-Datei aktivieren.
Öffnen Sie die virtuelle Host-Datei apache2/sites-available/your_domain.conf mit nano oder einem beliebigen bevorzugten Texteditor:
|
1 |
$ sudo nano /etc/apache2/sites-available/your_domain.conf |
Angenommen, Sie sind mit der im Apache-Webserver-Leitfaden besprochenen Einrichtung bereit, finden Sie die folgenden Konfigurationsdetails:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Fügen Sie als Nächstes den folgenden Directory-Inhalt innerhalb des VirtualHost-Blocks ein:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/your_domain> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow, deny allow from all </Directory> </VirtualHost> |
Im obigen Codeblock ist die Zeile AllowOverride All unter dem Directory-Abschnitt ist der wichtigste von allen. Dieser Abschnitt ermöglicht die Verwendung von .htaccess-Dateien.
Speichern Sie danach Ihre Arbeit und schließen Sie die Datei. Wenn Sie den Texteditor nano verwenden, nutzen Sie die Tastenkombination STRG + X, J, und EINGABE, um die Datei zu schließen.
Überprüfen Sie die Konfiguration, bevor Sie den Webserver neu starten:
|
1 |
$ sudo apache2ctl configtest |
Sie sehen Syntax OK als Ausgabe, wenn alles korrekt ist. Starten Sie nun den Server neu, um Ihre Passwortrichtlinie hinzuzufügen:
|
1 |
$ sudo systemctl restart apache2 |
Sobald die Einstellungen der .htaccess-Datei aktiviert sind, ist es an der Zeit, eine neue Datei zu erstellen.
Schritt 2 — Erstellen einer .htaccess-Datei
Das Erstellen einer .htaccess-Datei ist unkompliziert. Sie müssen in das Web-Root-Verzeichnis (d. h. die Quelle) navigieren, um die .htaccess-Datei zu finden, um sicherzustellen, dass die Konfigurationsänderungen korrekt ausgeführt werden.
|
Hinweis: Seien Sie vorsichtig beim Auffinden der .htaccess-Datei. Ein minimaler Fehler in der Konfiguration kann sich negativ auf dieses Verzeichnis und die darauf folgenden Verzeichnisse auswirken. Wenn Sie beispielsweise mehrere Websites auf demselben Apache-Server betreiben möchten, platzieren Sie Ihre .htaccess-Datei in dem Web-Root-Verzeichnis, das der Website zugeordnet ist. |
Wenn Sie die oben beschriebene Voraussetzung erfüllt haben, finden Sie das Web-root-Verzeichnis unter /var/www/my_domain/.htaccess. Erstellen Sie als Nächstes eine .htaccess-Datei für Ihre Website mit:
|
1 |
$ sudo nano /var/www/your_domain/.htaccess |
Sobald unsere .htaccess-Datei bereit ist, schauen wir uns einige ihrer Anwendungsfälle an.
Schritt 3 — Häufige Verwendungszwecke der .htaccess-Datei

Die Verwendung einer .htaccess-Seite auf Ihrer Website bringt eine Reihe von Vorteilen mit sich. Lassen Sie uns jeden einzelnen im Detail besprechen:
-
URLs weiterleiten
URL-Weiterleitung, auch als URL-Weiterleitung bezeichnet, ist eine Webserver-Funktion, mit der Besucher einer Domain zu einer anderen URL umgeleitet werden. Sie können .htaccess für Ihre URL-Weiterleitungen verwenden. Fügen Sie Folgendes in Ihre .htaccess-Datei ein, um die Quell-URL der Ziel-URL zuzuordnen:
|
1 2 3 4 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^testdomain.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.testdomain.com [NC] RewriteRule ^(.*)$ http://demodomain.com/$1 [L,R=301,NC] |
-
Benutzerdefinierte Fehlerseiten erstellen
Ein nützlicher Aspekt der .htaccess-Datei ist die Erstellung einer benutzerdefinierten Fehlerseite. Wenn ein Benutzer auf eine Seite stößt, die auf der Website nicht existiert, wird im Allgemeinen eine Fehlermeldung auf dem Bildschirm angezeigt. Einige der häufigen HTTP-Fehlercodes sind:
-
400 Bad Request
-
401 Nicht autorisiert
-
403 Verboten
-
404 Nicht gefunden
-
500 Interner Serverfehler
-
502 Bad Gateway
-
503 Dienst nicht verfügbar
Nutzen Sie im Gegensatz zur Standard-Serverfehlermeldung „Seite nicht gefunden“ die .htaccess-Datei, um Ihren Benutzern ein verbessertes, benutzerfreundliches Surferlebnis zu bieten.
-
Sicherheitsauthentifizierung einrichten
Mithilfe der .htaccess-Datei können Sie auch eine Sicherheitsauthentifizierung einrichten. Dazu müssen Sie eine .htpasswd-Datei erstellen, um Benutzer zu authentifizieren.
Verwenden Sie den Befehl htpasswd, um eine Passwortdatei aus Sicherheitsgründen zu erstellen. Apache verwendet diese Passwortdatei, um verifizierte Benutzer zu authentifizieren. Navigieren Sie zum Verzeichnis /etc/apache2 und erstellen Sie eine vertrauliche Datei namens .htpasswd.
Um die erforderliche .htpasswd-Datei zu erstellen, verwenden Sie das -c Option, wenn Sie dieses Passwort-Sicherheitsdienstprogramm zum ersten Mal verwenden. Geben Sie als Nächstes den Benutzernamen am Ende des Befehls an, um einen neuen Eintrag in der Datei aufzulisten. Ersetzen Sie danach den Benutzernamen nick (in diesem Tutorial verwendet) durch Ihren Benutzernamen:
|
1 |
$ sudo htpasswd -c /etc/apache2/.htpasswd nick |
Als Nächstes werden Sie aufgefordert, das Passwort des Benutzers einzugeben und zu bestätigen.
Lesen Sie weiter in diesem Tutorial, um mehr über das Einrichten und Konfigurieren der Passwort-Authentifizierung mit Apache auf Ubuntu 20.04 zu erfahren.
-
MIME-Typen hinzufügen
Die Klassifizierung von im Internet verwendeten Dateien ist mühelos mit Multi-Purpose Internet Mail Extensions-Typen (MIME). In mehreren Szenarien, in denen eine Website eine bestimmte Datei nicht bereitstellen kann, hilft das Hinzufügen von Erweiterungen. Verwenden Sie den folgenden Code, um Ihrem Apache-Server Multipurpose Internet Mail Extensions (MIME)-Typen in der .htaccess-Datei hinzuzufügen:
|
1 |
AddType audio/mp4a-latm .m4a |
|
Note: In unserer Anleitung verwenden wir einen MIME-Typ für Audiodateien. Ersetzen Sie die Anwendung und die Dateiendung durch Ihren gewünschten MIME-Typ. Stellen Sie außerdem sicher, dass die Virtual-Host-Konfiguration und das Verzeichnis der .htaccess-Datei in der Lage sind, die AddType-Direktive zu verwenden. Andernfalls erhalten Sie einen 500 Internal Server Error. |
-
Server Side Includes(SSI)
SSIs sind Direktiven, die einer HTML-Seite dynamische Inhalte hinzufügen. Sie werden verwendet, um eine große Anzahl von Seiten mit bestimmten Daten zu aktualisieren, ohne jede Seite explizit aktualisieren zu müssen.
In den HTML-Dateien ist Server Side Includes (SSI) standardmäßig deaktiviert. Fügen Sie Ihrer .htaccess-Datei den folgenden Code hinzu, um SSI zu aktivieren:
|
1 2 |
AddType text/html .shtml AddHandler server-parsed .shtml</pre> |
Die obigen Zeilen validieren zuerst die .shtml-Dateien. Die Bestätigung wird dann an die .htaccess-Datei gesendet, während der Server alle .shtml-Dateien parsen kann.
Alternativ können Sie XBitHack verwenden, um mehrere .html-Inhalte zu parsen, anstatt die .shtml-Erweiterungen einzeln umzubenennen. Fügen Sie der .htaccess-Datei die folgende Zeile hinzu, um XbitHAck zu verwenden und Apache aufzufordern, alle .html-Dateien zu überprüfen:
|
1 |
XBitHack on |
Als Nächstes müssen Sie die Berechtigung ändern, um der Seite die Berechtigung zur Verwendung von XBitHack zu erteilen. Verwenden Sie dazu den folgenden chmod-Befehl:
|
1 |
$ chmod +x pagename.html |
-
IP-Adresse verwalten
Aus Sicherheitsgründen möchten Sie manchmal eine IP oder einen Bereich von IP-Adressen für den Zugriff auf Ihre Website sperren. Fügen Sie die folgenden Codezeilen in Ihre .htaccess-Datei ein, um die Ziel-IP einzuschränken:
|
1 |
Order Deny, Allow Deny from A.A.A.A (wobei A.A.A.A ist eine bestimmte IPv4 -Adresse) |
Verwenden Sie eine separate Zeile, um mehr als eine IP zu sperren:
|
1 |
Order Deny Allow Deny from A.A.A.A (wobei A.A.A.A ist eine bestimmte IPv4-Adresse) Deny from B.B.B.B (wobei B.B.B.B ist eine bestimmte IPv4-Adresse) |
Außerdem können Sie Domains den Zugriff auf Ihre Website sperren. Schränken Sie eine bestimmte Domain ein, indem Sie der .htaccess-Datei die folgende Codezeile hinzufügen:
Order Deny, Allow Deny from www.blockdomain.com (wobei www.blockdomain.com eine bestimmte Domain ist)
Risiken bei der Verwendung von .htaccess
Das Hinzufügen einer
.htaccess-Datei ist zweifellos ein kluger Schachzug, um Ihre Website zu konfigurieren und benutzerfreundlich zu gestalten. Jede Änderung an den Konfigurationseinstellungen bringt jedoch auch Nachteile mit sich. Sehen wir uns einige triftige Gründe an, warum Sie die
.htaccess-Datei nicht verwenden sollten:
i. Leistungsverlust: Jedes Mal, wenn ein Server ein Seitenverzeichnis und seine .htaccess-Datei scannt, wird die Seite geladen. Infolgedessen werden Geschwindigkeits- und Leistungsverluste zu einem Hauptproblem.
ii. Sicherheit: Der Zugriff auf .htaccess-Dateien gibt die volle Kontrolle über die Serverkonfiguration. Das bedeutet, dass jeder nicht autorisierte Benutzer, der Zugriff auf die .htaccess Zugriff auf die .htaccess-Datei, was wiederum zu potenziellen Sicherheitsrisiken führt.
iii. Zugänglichkeit: Die .htaccess-Dateien müssen mit äußerster Sorgfalt und Aufmerksamkeit behandelt werden. Wenn Fehler in der .htaccess-Datei auftreten, kann dies die gesamte Website lahmlegen.
Fazit
In dieser Anleitung haben wir eine umfassende Vorstellung davon bekommen, wie man eine .htaccess-Datei aktiviert, erstellt und verwendet. Wir haben den Anwendungsfall besprochen, wann und wo die .htaccess-Datei verwendet werden muss. Nutzen Sie .htaccess-Dateien, um Ihre Website zu sichern und vor Angriffen zu schützen. Es gibt jedoch einige Fallstricke bei der Verwendung dieser Konfigurationsdatei, die nicht ignoriert werden dürfen. Kurz gesagt, verwenden Sie die .htaccess-Dateien je nach Nutzung Ihres Servers und den Zugriffsanforderungen der Benutzer.
Darüber hinaus finden Sie weitere Netzwerk-Tutorials auf unserem Blog:
-
Konfigurieren der grundlegenden HTTP-Authentifizierung mit Nginx auf Ubuntu 20.04
-
Nginx HTTP-Proxying, Lastverteilung, Pufferung und Caching: ein Überblick
Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.