GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eine Anleitung für Anfänger zum Erstellen von Weiterleitungen in einer .htaccess-Datei

Hatten Sie jemals das Bedürfnis, die Konfiguration Ihrer Website zu ändern, die auf einem Apache-Webserver ausgeführt wird, ohne Root-Zugriff auf die Serverkonfigurationsdateien zu haben (httpd.conf )? Das ist die .htaccess Datei ist für.

Die .htaccess -Datei bietet eine Möglichkeit, Konfigurationsänderungen an Ihrer Website pro Verzeichnis vorzunehmen. Die Datei wird in einem bestimmten Verzeichnis erstellt, das eine oder mehrere Konfigurationsanweisungen enthält, die auf dieses Verzeichnis und seine Unterverzeichnisse angewendet werden. Beim Shared Hosting müssen Sie einen .htaccess verwenden Datei, um Konfigurationsänderungen an Ihrem Server vorzunehmen.

[Das könnte Ihnen auch gefallen: 6 Sysadmin-Skills, die Webentwickler brauchen]

Häufige Verwendung von .htaccess-Dateien

Die .htaccess Datei hat mehrere Anwendungsfälle. Die häufigsten Beispiele sind:

  • Weiterleitungen für bestimmte URLs
  • Lade benutzerdefinierte Fehlerseiten wie 404-Seiten
  • Zwingen Sie Ihre Website zu HTTPS statt HTTP
  • Gestatten oder verweigern Sie bestimmten IP-Adressen den Zugriff auf Ihre Website
  • Schützen Sie bestimmte Verzeichnisse auf Ihrem Server mit einem Passwort

Wann sollte .htaccess nicht verwendet werden?

Die .htaccess Datei wird häufig verwendet, wenn Sie keinen Zugriff auf die Hauptserver-Konfigurationsdatei httpd.conf haben oder Konfiguration virtueller Hosts, was nur passiert, wenn Sie Shared Hosting erworben haben. Sie können alle oben genannten Anwendungsfälle erreichen, indem Sie die Hauptkonfigurationsdatei(en) des Servers (z. B. httpd.conf) bearbeiten ) oder Konfigurationsdateien für virtuelle Hosts, daher sollten Sie .htaccess nicht verwenden wenn Sie Zugriff auf diese Dateien haben. Jede Konfiguration, die Sie in eine .htaccess einfügen müssen Datei kann genauso effektiv in einem hinzugefügt werden Abschnitt in den Konfigurationsdateien Ihres Hauptservers oder virtuellen Hosts.

Gründe, die Verwendung von .htaccess zu vermeiden

Es gibt zwei Gründe, die Verwendung von .htaccess zu vermeiden Dateien. Schauen wir sie uns genauer an.

Zuerst :Leistung – Wenn AllowOverride ist so eingestellt, dass die Verwendung von .htaccess erlaubt ist Dateien, httpd sucht nach .htaccess Dateien in jedem Verzeichnis, beginnend mit dem übergeordneten Verzeichnis. Dies führt zu Leistungseinbußen, unabhängig davon, ob Sie es verwenden oder nicht. Die .htaccess Datei wird jedes Mal geladen, wenn ein Dokument aus einem Verzeichnis angefordert wird.

Um einen vollständigen Überblick über die anzuwendenden Anweisungen zu erhalten, httpd sucht immer nach .htaccess Dateien, beginnend mit dem übergeordneten Verzeichnis, bis es das Ziel-Unterverzeichnis erreicht. Wenn eine Datei aus dem Verzeichnis /public_html/test_web/content angefordert wird , httpd muss nach folgenden Dateien suchen:

  • /.htaccess
  • /public_html/.htaccess
  • /public_html/test_web/.htaccess
  • /public_html/test_web/content/.htaccess

Daher wurden vier Dateisystemzugriffe für jeden Dateizugriff aus einem Unterverzeichnisinhalt durchgeführt, selbst wenn die Datei nicht vorhanden ist.

Zweiter :Sicherheit - Benutzern die Berechtigung erteilen, Änderungen in .htaccess vorzunehmen Dateien gibt ihnen die volle Kontrolle über die Serverkonfiguration dieser bestimmten Website oder dieses virtuellen Hosts. Jede Direktive in der .htaccess Datei hat die gleiche Wirkung wie jede in httpd platzierte Konfigurationsdatei selbst, und an dieser Datei vorgenommene Änderungen sind sofort aktiv, ohne dass der Server neu gestartet werden muss. Dies kann im Hinblick auf die Sicherheit eines Webservers und einer Website riskant werden.

Aktivieren Sie die .htaccess-Datei

Um die .htaccess zu aktivieren Datei benötigen Sie sudo/root-Rechte auf dem Server.

Öffnen Sie den httpd Konfigurationsdatei Ihrer Website:

/etc/httpd/conf/test.conf

Sie sollten die folgende Konfigurationsdirektive in der virtuellen Hostdatei des Servers hinzufügen, um .htaccess zuzulassen Datei im DocumentRoot Verzeichnis. Wenn die folgenden Zeilen nicht hinzugefügt werden, wird die .htaccess Datei funktioniert nicht:

</VirtualHost>
<Directory /var/www/test.com/public_html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Beim Shared Hosting ist dies bereits von den Hosting-Dienstleistern erlaubt. Sie müssen lediglich eine .htaccess erstellen Datei in public_html Verzeichnis, auf das Ihnen der Dienstanbieter Zugriff gewährt hat und in das Sie Ihre Website-Dateien hochladen werden.

Weiterleitungs-URLs

Wenn Ihr Ziel darin besteht, einfach eine URL auf eine andere umzuleiten, wird die Redirect Direktive ist die beste Option, die Sie verwenden können. Immer wenn eine Anfrage von einem Client auf einer alten URL kommt, leitet er sie an eine neue URL an einem neuen Standort weiter.

Wenn Sie eine vollständige Umleitung auf eine andere Domain durchführen möchten, können Sie Folgendes festlegen:

# Redirect to a different domain
Redirect 301 "/service" "https://newdomain.com/service"

Wenn Sie nur eine alte URL auf eine neue URL auf demselben Host umleiten möchten:

# Redirect to a URL on the same domain or host
Redirect 301 "/old_url.html" "/new_url.html"
Load a custom 404 Error page

Laden Sie für eine bessere Benutzererfahrung eine benutzerdefinierte Fehlerseite, wenn einer der Links auf Ihrer Website auf die falsche Stelle verweist oder das Dokument gelöscht wurde.

Um eine benutzerdefinierte 404-Seite zu erstellen, erstellen Sie einfach eine Webseite, die als 404-Seite funktioniert, und fügen Sie dann den folgenden Code zu Ihrer .htaccess hinzu Datei:

ErrorDocument 404 /error/pagenotfound.html

Sie sollten /error/pagenotfound.html ändern zum Speicherort Ihrer 404-Seite.

Erzwingen Sie die Verwendung von HTTPS anstelle von HTTP für Ihre Website

Wenn Sie Ihre Website dazu zwingen möchten, HTTPS zu verwenden, müssen Sie die RewriteEngine verwenden Modul in der .htaccess Datei. Zunächst müssen Sie die RewriteEngine einschalten Modul in der .htaccess Datei und geben Sie dann die Bedingungen an, die Sie überprüfen möchten. Wenn diese Bedingungen erfüllt sind, wenden Sie Regeln auf diese Bedingungen an.

Das folgende Code-Snippet schreibt alle Anforderungen an HTTPS um:

# Turn on the rewrite engine
RewriteEngine On

# Force HTTPS and WWW
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off  
RewriteRule ^(.*)$ https://www.test-website.com/$1 [R=301,L]

Lassen Sie uns jede Zeile durchgehen.

RewriteEngine ein schaltet die RewriteEngine ein Modul. Dies ist erforderlich; andernfalls funktionieren Bedingungen und Regeln nicht.

Die erste Bedingung prüft, ob www eingegeben wird. [ODER, NC] steht für kein Fall , also auch wenn die eingegebene URL eine Mischung aus Groß- und Kleinbuchstaben ist.

Als nächstes prüft es, ob das HTTPS-Protokoll bereits vom Benutzer eingegeben wurde. %{https} Rabatt bedeutet, dass das HTTPS-Protokoll nicht verwendet wurde.

Wenn die RewriteCond zufrieden ist, verwenden wir RewriteRule um die URL auf HTTPS umzuleiten. Beachten Sie, dass in diesem Fall alle URLs bei jeder Anfrage zu HTTPS umgeleitet werden.

[ Ein kostenloser Leitfaden von Red Hat:5 Schritte zur Automatisierung Ihres Unternehmens. ] 

Abschluss

Websitebesitzer verwenden häufig den .htaccess Datei, um das Verhalten ihrer Website zu steuern. In diesem Artikel haben wir die Grundlagen der .htaccess behandelt Datei und einige gängige Anwendungsfälle, die auf den meisten Websites vorhanden sind.


Linux
  1. Blockieren des Zugriffs über eine .htaccess-Datei

  2. TCPdump filtern:Ordnung aus Chaos schaffen

  3. Eine Anleitung für Anfänger zu firewalld unter Linux

  4. Erstellen einer Webzertifikat-CSR-Datei.

  5. Erstellen von Apache-Umleitungen

Ein Leitfaden für Anfänger zur Netzwerkfehlerbehebung unter Linux

Anfängerleitfaden zur Installation von Pop!_OS Linux

So verwenden Sie AppImage unter Linux (Anfängerhandbuch)

Erstellen einer herunterladbaren Datei in cPanel

Anfängerleitfaden für Syslogs unter Linux

Was ist das Linux-Dateisystem? Einfache Anleitung