GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> cPanel

So richten Sie Regeln und Weiterleitungen in .htaccess ein

So richten Sie Regeln und Weiterleitungen in .htaccess ein

.htaccess ist eine vom Apache-Webserver unterstützte Konfigurationsdatei auf Verzeichnisebene. Sie wird verwendet, um die Webserverkonfiguration (Aktivieren oder Deaktivieren zusätzlicher Funktionen) für das spezifische Konto zu ändern, ohne die globalen Servereinstellungen zu ändern.

Die .htaccess-Datei gilt für das gesamte Verzeichnis, in dem sie abgelegt ist, einschließlich aller Dateien und Unterverzeichnisse. Die in dieser Datei vorgenommenen Änderungen werden sofort implementiert und es ist kein Neustart des Servers erforderlich.


So finden Sie die .htaccess-Datei
Liste häufig verwendeter .htaccess-Regeln:
  • Autorisierung/Authentifizierung 
  • Blockierung 
  • Benutzerdefinierte Fehlerseiten 
  • Mod_Rewrite (Umleitungsregeln)
  • Änderung des Stammverzeichnisses der Domain
Vorhandene .htaccess-Regeln deaktivieren


Um auf die .htaccess-Hauptdatei Ihres Hosting-Kontos zuzugreifen, führen Sie die folgenden Schritte aus:

1. Melden Sie sich bei Ihrem cPanel an .
2. Navigieren Sie zum Abschnitt Dateien>> Dateimanager :



3. Wenn Sie die .htaccess-Datei für Ihre Hauptdomain bearbeiten möchten, navigieren Sie zu public_html Mappe. Wenn Sie einige Änderungen an der Addon-Domain vornehmen müssen, wechseln Sie zu public_html/youraddondomain.com Ordner.

Stellen Sie dort sicher, dass Versteckte Dateien anzeigen (dotfiles) Option in Einstellungen aktiviert ist Menü:



4. Suchen Sie .htaccess Datei mit der rechten Maustaste>> Bearbeiten :



5. Wenn sich in Ihrem Dateimanager keine .htaccess-Datei befindet, können Sie mit Datei eine neue erstellen Möglichkeit:



Sie können nun Ihre eigenen Konfigurationsregeln hinzufügen und speichern.



Die allgemeine Verwendung Regeln einer .htaccess-Datei sind unten aufgeführt:


Autorisierung/Authentifizierung – gibt Sicherheitseinschränkungen für ein Verzeichnis/Unterverzeichnis an.
Sie können ein oder mehrere Verzeichnisse mit einem Passwort schützen, und jedes Mal, wenn ein Besucher versucht, darauf zuzugreifen, werden Benutzername und Passwort benötigt.

Um einen solchen Schutz einzurichten, müssen Sie:

1. Erstellen Sie das zu schützende Verzeichnis in /home/cpanel_user/.htpasswds/ Ordner (z. B. für public_html/test der Pfad lautet .htpasswds/public_html/test/).
       

2. Erstellen Sie ein Passwort Datei in diesem Verzeichnis und fügen Sie gehashte Zugangsdaten mit diesem Online-Generator hinzu.

3. Fügen Sie die folgenden Anweisungen zu .htaccess hinzu:

AuthType Basic
AuthName "Directory Name" AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd" require valid-user


Blockierung – blockiert Benutzer nach IP-Adresse oder Domäne. Es ist sehr nützlich, unerwünschte Besucher zu blockieren oder den Zugriff auf bestimmte Bereiche der Website durch den Eigentümer zuzulassen, z. B. den Verwaltungsbereich.
Um bestimmte Sperrregeln einzurichten, erstellen Sie eine .htaccess-Datei mit folgendem Text:

  • um allen anderen Zugriff zu gewähren und Benutzer mit einer X.X.X.X-IP-Adresse zu blockieren
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>

  • um alle Besucher mit Ausnahme der spezifischen X.X.X.X- und Y.Y.Y.Y-IPs zu blockieren
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>

HINWEIS: Mischen Sie nicht das veraltete Erlauben , Ablehnen , und Bestellung Direktiven mit dem neuen Require Richtlinie.

Benutzerdefinierte Fehlerseiten – ermöglicht das Erstellen benutzerdefinierter Fehlerseiten für eine Website. Diese Option ist sehr nützlich, da Sie damit Website-Besuchern eine zu Ihrem Website-Theme passende Fehlermeldung anzeigen können, wenn eine URL auf Ihrer Website nicht funktioniert. Dies hilft beispielsweise, den Standardfehler „404 Datei nicht gefunden“ zu vermeiden, und ermöglicht es Ihnen, einen benutzerdefinierten Fehler mit den Anweisungen zurück in den Inhalt Ihrer Website anzuzeigen, anstatt verwirrt zu bleiben.
Um ein benutzerdefiniertes Fehlerdokument einzurichten , erstellen Sie eine .htaccess-Datei mit dem folgenden Text:

ErrorDocument 404 /404.html

Immer wenn ein 404-Fehler (Datei nicht gefunden) angezeigt wird, weist diese Zeile den Apache-Webserver an, eine 404.html-Datei zu laden, die sich im Stammverzeichnis der Domain befindet, für die Sie die Fehlerseite eingerichtet haben.

HINWEIS :Um ein Dokument für andere Fehler (403, 500 usw.) einzurichten, ersetzen Sie einfach 404 durch den entsprechenden Fehlercode und /404.html durch den Pfad zur Fehlerdatei.


Mod_Rewrite – legt fest, wie Webseiten und URLs den Besuchern angezeigt werden.

Wir möchten Sie auf die Verwendung von Mod_Rewrite-Regeln in der .htaccess-Datei aufmerksam machen.

Standardmäßig ordnet Mod_Rewrite eine URL einem Dateisystempfad zu. Es kann jedoch auch verwendet werden, um eine URL auf eine andere URL umzuleiten.

Bevor Sie eine Umleitung erstellen, sollten Sie den für Sie bevorzugten Umleitungstyp auswählen:

  • Permanente Weiterleitung hat einen Statuscode von 301 und wird im Gegensatz zum temporären im Browserspeicher zwischengespeichert. Es impliziert, dass die Seite verschoben wurde, und fordert alle Suchmaschinen und Benutzeragenten auf, die auf die Seite kommen, um die URL in ihrer Datenbank zu aktualisieren. Dies ist die häufigste Art der Weiterleitung.
  • Vorübergehende Weiterleitung bedeutet, dass die Seite den Statuscode 302 an den Browser sendet. Code 302 weist den Browser an, diese Weiterleitung nicht in seinen gespeicherten Daten zwischenzuspeichern. Es wird den Besucher oder die Suchmaschine umleiten, aber die Suchmaschine wird weiterhin auf die ursprüngliche Seite indexieren. Dies ist die empfohlene Art der Weiterleitung, es sei denn, Sie sind absolut sicher, dass Sie sie in Zukunft nie mehr ändern werden.

Die Liste der gebräuchlichsten und nützlichsten Weiterleitungen, die über die .htaccess-Datei gesetzt werden können, finden Sie unten (die in den Beispielen angegebenen Domains sollten durch Ihre eigenen ersetzt werden):


Permanente Weiterleitung von example.com nach domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com/$1" [R=301,L]

Vorübergehende Weiterleitung von example.com nach domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ "http\:\/\/domain\.com\/" [R=302,L]

HINWEIS :Nachfolgend finden Sie Beispiele für permanente Weiterleitungen. Temporär kann definiert werden, indem [R=301,L] durch [R=302,L] am Ende des Codes ersetzt wird (falls erforderlich).


Umleitung von example.com/subfolder nach domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^subfolder/$ "http\:\/\/domain\.com\/" [R=301,L]


Umleitung von HTTP zu HTTPS zum Beispiel.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]

oder

RewriteCond %{SERVER_PORT} 80      
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]


Umleitung von Nicht-WWW zu WWW

  • Für jede Domain tritt .htaccess in Kraft am:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

  • für eine bestimmte Domain, example.com:
RewriteEngine On     
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]


Umleitung von WWW zu Nicht-WWW
  • Für alle Domains tritt .htaccess in Kraft am:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

  • für eine bestimmte Domain, example.com:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]

Alle example.com-Seiten auf die entsprechenden domain.com-Seiten umleiten
RedirectMatch 301 ^/(.*)$ http://domain.com/$1

HINWEIS :Alle Seitennamen müssen auf beiden Domains übereinstimmen oder die Weiterleitung führt zu einer „Seite nicht gefunden“-Meldung auf der Zielwebsite.

Eine Seite auf eine neue URL umleiten
Redirect 301 /old_page.html http://www.domain.com/new_page.html

HINWEIS :Dies kann nützlich sein, wenn Sie eine gelöschte Seite zu einem 404-Fehler umleiten möchten oder für SEO-Zwecke, nachdem die Inhaltsreferenzen aktualisiert wurden.



Ändert den Verzeichnisstamm für die Hauptdomain nach public_html/subfolder

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

HINWEIS :Die .htaccess-Datei sollte sich im Verzeichnisstamm der Domain befinden, für die Sie bestimmte Regeln konfigurieren möchten.


Bestehende .htaccess-Regeln deaktivieren

Wenn Sie einige der vorhandenen Regeln beispielsweise zu Testzwecken deaktivieren müssen, können Sie sie einfach auskommentieren. Fügen Sie dazu das Rautezeichen # hinzu am Anfang jeder Zeile der Regel.
Außerdem ist es möglich, die Zeile oder sogar den Zeilenblock zu deaktivieren, indem Sie einzelne auswählen und Strg + / verwenden Verknüpfung.




Das war's!


                      Benötigen Sie Hilfe? Kontaktieren Sie unseren HelpDesk

Zugehörige Artikel

So richten Sie einen internen Schutz für .htaccess ein
cPanel
  1. So richten Sie einen internen Schutz für .htaccess ein

  2. So richten Sie Domain-Weiterleitungen in cPanel ein

  3. So setzen Sie PHP-Direktiven mit .php.ini

  4. So beschränken Sie den Zugriff auf Ihre Website mit .htaccess und dem cPanel-IP-Blocker

  5. Wie aktiviere ich ExecCGI über die .htaccess-Datei?

So richten Sie NFS-Server und -Client unter CentOS 8 ein

Wie setze ich die Indexseite von cPanel über .htaccess?

So beschränken Sie den Zugriff auf Ihre Website mit .htaccess und cPanel IP Blocker

Wie kann ich eine Weiterleitung auf cPanel einrichten?

Wie stelle ich eine PHP-Version über .htaccess in cPanel ein?

So richten Sie einen Cron in cPanel ein und führen ihn aus