Hostwinds Tutorials

Suchergebnisse für:


Inhaltsverzeichnis


Was ist die .htaccess -Datei?
Aktivieren der .htaccess -Datei
Schritt 1: Öffnen Sie die virtuelle Hostdatei
Schritt 2: Fügen Sie "DingOverride All" -Richtlinie hinzu
Schritt 3: Datei speichern
Schritt 4: Apache neu starten
Erstellen einer .htaccess -Datei
Umleitung einer einzelnen URL unter Verwendung der Direktive "Umleitung"
Wenn Sie eine URL auf eine andere URL auf derselben Domäne umleiten möchten:
Wenn Sie eine URL auf eine andere Domäne zu einem umleiten möchten:
Bulk -URL -Umleitung mit der Anweisung "Rewriterule"
Überprüfen Sie, ob 'mod_rewrite aktiviert ist
Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):
Für Debian-basierte Systeme (Ubuntu, Debian, Linux Mint):
So aktivieren Sie 'mod_rewrite'
Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):
Für Debian-basierte Systeme (Ubuntu, Debian, Linux Mint):
URLs umleiten basierend auf einem gemeinsamen Muster
Umleitung einer gesamten Domäne zu einer neuen Domäne
Erzwingen
Erzwingen Sie HTTPS auf dem gesamten Verkehr
Erzwingen Sie HTTPS auf einer bestimmten Domäne
Hinzufügen und Entfernen von 'www' Präfix

So erstellen Sie Weiterleitungen mithtaccess -Datei

Was ist die .htaccess -Datei?
Aktivieren der .htaccess -Datei
Schritt 1: Öffnen Sie die virtuelle Hostdatei
Schritt 2: Fügen Sie "DingOverride All" -Richtlinie hinzu
Schritt 3: Datei speichern
Schritt 4: Apache neu starten
Erstellen einer .htaccess -Datei
Umleitung einer einzelnen URL unter Verwendung der Direktive "Umleitung"
Wenn Sie eine URL auf eine andere URL auf derselben Domäne umleiten möchten:
Wenn Sie eine URL auf eine andere Domäne zu einem umleiten möchten:
Bulk -URL -Umleitung mit der Anweisung "Rewriterule"
Überprüfen Sie, ob 'mod_rewrite aktiviert ist
Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):
Für Debian-basierte Systeme (Ubuntu, Debian, Linux Mint):
So aktivieren Sie 'mod_rewrite'
Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):
Für Debian-basierte Systeme (Ubuntu, Debian, Linux Mint):
URLs umleiten basierend auf einem gemeinsamen Muster
Umleitung einer gesamten Domäne zu einer neuen Domäne
Erzwingen
Erzwingen Sie HTTPS auf dem gesamten Verkehr
Erzwingen Sie HTTPS auf einer bestimmten Domäne
Hinzufügen und Entfernen von 'www' Präfix

Was ist die .htaccess -Datei?

Die .htaccess-Datei ist eine Konfigurationsdatei, die hauptsächlich von Apache-Webservern verwendet wird, um verschiedene Aspekte des Website-Verhaltens pro Direktorie zu steuern.Sie können die serverweiten Einstellungen überschreiben und bestimmte Konfigurationen auf einzelne Verzeichnisse anwenden, ohne die Hauptdatei der Hauptserverkonfiguration direkt zu ändern.

Die .htaccess -Datei zeichnet sich als bemerkenswert leistungsfähiges Tool bei der effizienten Verwaltung verschiedener Backend -Website -Aufgaben aus.Eine der häufigsten Aufgaben ist die Umsetzung von Weiterleitungen, wo Sie können Weiterleitungen auf der Ebene einzelner URLs, in ganzen Domänen und sogar auf der HTTP -Protokollebene ausführen.

In diesem Tutorial werden wir die unzähligen Optionen durchgehen .Htaccess Angebote für die Umleitung und führen Sie durch die verschiedenen Implementierungen, damit Sie Ihre URLs effektiv umgeben können.

Aktivieren der .htaccess -Datei

Das Aktivieren der .htaccess -Datei fordert Apache -Webserver an, in der sie geschriebenen Anweisungen zu erkennen und zu akzeptieren, wodurch Sie auf die Verzeichnisebene auf die Standard -Serverkonfigurationen eingerichtet sind.

Wenn Sie eine haben Shared Hosting Konto, Ihr Hosting -Dienstanbieter sollte es bereits aktivieren lassen. Sie müssen also lediglich eine Datei erstellen.

Schritt 1: Öffnen Sie die virtuelle Hostdatei

Verwenden Sie Ihren bevorzugten Texteditor (wir werden verwenden Nano Für dieses Beispiel) öffnen Sie die Konfigurationsdatei Ihrer Website mit dem folgenden Befehl:

Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):

sudo nano /etc/httpd/conf/httpd.conf

Für Debian-basierte Systeme (Debian, Ubuntu, Linux Mint):

sudo nano /etc/apache2/sites-available/domain_name.conf

Der VirtualHost -Dateiblock sieht ungefähr so ​​aus:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName domain_name
    ServerAlias www.domain_name
    DocumentRoot /var/www/domain_name/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Hinweis: Abhängig davon, wie Ihre Website -Dateien organisiert sind, die 'Dokument Root' könnte abweichen.Es gibt zwei allgemeine Setups:

  • '/var/www/domain_name/public_html' (oben) zeigt an, dass sich Ihre Website -Dateien in einem Unterverzeichnis namens befinden.public_html ' innerhalb der 'Domain_name'Verzeichnis, eine Struktur, die üblicherweise verwendet wird, um Dateien mit öffentlich ausgerichteten Dateien von anderen ebellebedingten Dateien zu trennen.Durch Aktivieren der .htaccess -Datei in diesem Verzeichnis wirkt sich nur die Dateien in 'public_html' aus.
  • Beispiel:
/var/www/domain_name/
├── public_html/
│   ├── index.html
│   ├── about.html
│   └── .htaccess
└── logs/
  • '/var/www/domain_name' Gibt an, dass alle Ihre Website -Dateien direkt in der 'angezeigt werden.Domain_name' Verzeichnis.Dieses Setup bedeutet, dass alle .htaccess-Dateianweisungen für jede Datei (öffentlich ausgerichtet oder nicht) in diesem Verzeichnis gelten.
  • Beispiel:
/var/www/domain_name/
├── index.html
├── about.html
└── .htaccess

Obwohl beide gültig sind, ist es wichtig, sich darüber im Klaren zu sein, welche Site -Dateien Sie möglicherweise von der .htaccess -Datei betroffen sein oder nicht.

Schritt 2: Fügen Sie "DingOverride All" -Richtlinie hinzu

Innerhalb der Virtualhost Block fügen Sie den folgenden Verzeichnis -Inhaltsblock hinzu:

<VirtualHost *:80>  

<Directory /var/www/domain_name/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

</VirtualHost>

Diese Richtlinie speziell 'ALLE ALLE'ist das, was Sie ermöglicht, .htaccess -Direktiven über alle Website -Dateien innerhalb des angegebenen Verzeichnisses zu wenden.

Schritt 3: Datei speichern

Speichern und schließen Sie die Datei nach dem Hinzufügen des Verzeichnisblocks.In Nano kann dies durch Drücken erfolgen Strg +x, dann Y. und drücken EINGEBEN.

Schritt 4: Apache neu starten

Für die vollständige Aktivierung der .htaccess -Datei müssen Sie Apache neu starten:

Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):

sudo systemct1 restart httpd

Für Debian-basierte Systeme (Debian, Ubuntu, Linux Mint):

sudo systemct1 restart apache2

Das ist es!Mit Apache können Sie jetzt .htaccess -Dateien innerhalb des angegebenen Verzeichnisses verwenden.

Erstellen einer .htaccess -Datei

Mit Unterstützung für .htaccess aktiviert können wir jetzt die .htaccess -Datei erstellen.

Um die .htaccess -Datei zu erstellen, müssen Sie zur Wurzelverzeichnis wo Sie die .htaccess -Datei aktiviert haben.Mit Ihrem bevorzugten Texteditor (erneut werden wir Nano verwenden) geben Sie den folgenden Befehl ein und ersetzen Sie 'Domain_name'Mit deinem Domainnamen.

Hinweis: Entfernen 'public_html»Wenn Sie die .htaccess -Datei in diesem Unterverzeichnis nicht aktiviert haben.

sudo nano /var/www/html/domain_name/public_html/.htaccess

Sie haben jetzt eine .htaccess -Datei erstellt und können mit der Ausführung von Umleitungsrichtlinien beginnen.

Umleitung einer einzelnen URL unter Verwendung der Direktive "Umleitung"

Das 'Umleiten'Die Richtlinie ist die einfachste Option für einfache 1-zu-1-Weiterleitungen.Diese Anweisung kann verwendet werden, um URLs auf derselben Domäne oder in einer anderen Domäne umzuleiten.Die folgenden Richtlinien funktionieren für alle 3xx -Statuscodes (301, 302, 307 und 308)

Wenn Sie eine URL auf eine andere URL auf derselben Domäne umleiten möchten:

Redirect 301 "/original_url_path" "/new_url_path"

Wenn Sie eine URL auf eine andere Domäne zu einem umleiten möchten:


Redirect 301 "/orignal_url_path" "https://new_domain.com/new_url_path"

Bulk -URL -Umleitung mit der Anweisung "Rewriterule"

Die 'UmkreistenMit 'Richtlinie können Sie zusätzliche Regeln für Umleitungen, z. B. das Musteranpassung, durch die Verwendung regelmäßiger Ausdrücke und Bedingungen hinzufügen.

Überprüfen Sie, ob 'mod_rewrite aktiviert ist

Um das "Rewriterule" zu verwenden, müssen wir sicherstellen, dass das Modul "mod_rewrite" aktiviert ist.

Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):
httpd -M | grep rewrite
Für Debian-basierte Systeme (Ubuntu, Debian, Linux Mint):
apache2ctl -M | grep rewrite

Wenn Sie die folgende Ausgabe sehen, ist das Modul 'mod_rewrite' aktiviert

rewrite_module (shared)

So aktivieren Sie 'mod_rewrite'

Für Red Hat-basierte Systeme (CentOS, Fedora, Rhel):

Schritt 1: Öffnen Sie die Apache -Konfigurationsdatei (normalerweise 'httpd.conf' oder 'apache2.conf').

sudo nano /etc/httpd/conf/httpd.conf

Schritt 2: Stellen Sie sicher, dass die folgende Zeile nicht kommentiert wird (Nein # zu Beginn).Wenn ja, löschen Sie einfach '#'

LoadModule rewrite_module modules/mod_rewrite.so

Schritt 3: Starten Sie Apache neu, um Änderungen anzuwenden

sudo systemctl restart httpd
Für Debian-basierte Systeme (Ubuntu, Debian, Linux Mint):

Schritt 1: Aktivieren Sie das Modul "mod_rewrite"

sudo a2enmod rewrite

Schritt 2: Starten Sie Apache neu, um Änderungen anzuwenden

sudo systemctl restart apache2

URLs umleiten basierend auf einem gemeinsamen Muster

Wenn Sie ein gemeinsames Muster in Ihren alten URLs haben, wie das gleiche Unterverzeichnis (z. B. /Blog), können Sie regelmäßige Ausdrücke verwenden, um sie zu entsprechen und umzuleiten:

RewriteEngine On

RewriteRule ^old-section/(.*)$ http://www.example.com/new-section/$1 [R=301,L]

In diesem Beispiel jede URL, die mit beginnt 'alter Sektion/' wird umgeleitet auf 'Neuer Abschnitt/' mit dem gleichen Suffix.

Umleitung einer gesamten Domäne zu einer neuen Domäne

Die folgende Richtlinie wird den gesamten Verkehr von 'umleiten.old-domain.com' Zu 'new-domain.com, 'Erhalt des URI -Pfades.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]

Erzwingen

Wenn Sie HTTPS "erzwingen", bedeutet dies, dass Sie alle eingehenden HTTP -Anfragen Ihrer Website in die gesicherte HTTPS -Version umleiten.

Es gibt einige Möglichkeiten, HTTPS mithilfe der Anweisung "Rewriterule" zu erzwingen:

Erzwingen Sie HTTPS auf dem gesamten Verkehr

Wenn Sie HTTPS auf "All -Traffic" erzwingen, fordern Sie dem Server auf, jede eingehende HTTP -Anfrage an HTTPS umzuleiten, unabhängig von der Domäne oder Subdomain.

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Diese Methode von erzwungenem HTTPS ist ideal für Server, die eine einzelne Domäne hosten.

Erzwingen Sie HTTPS auf einer bestimmten Domäne

Wenn Sie HTTPS in einer bestimmten Domäne erzwingen, fordern Sie dem Server auf, HTTP -Anforderungen nur für diese bestimmte Domäne (oder Subdomain) an HTTPS umzuleiten.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?specific-domain\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Das Erzwingen von HTTPS mit dieser Methode ist besonders nützlich, wenn Sie mehrere Domänen auf einem einzelnen Server hosten und Sie nur eine ausgewählte Nummer sichern müssen.

Hinzufügen und Entfernen von 'www' Präfix

Sie können die .htaccess -Datei auch in Verbindung mit der Anweisung "Rewriterule" verwenden, um das Präfix "www" umzuleiten.

Hinzufügen von 'www' Präfix:

RewriteEngine On

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

Zum Entfernen von 'www' Präfix:

RewriteEngine On

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

Geschrieben von Hostwinds Team  /  Juni 3, 2024