Informationen und Verwendung der .htaccess-Datei

Informationen und Verwendung der .htaccess-Datei

1.- Was ist eine .htaccess?
Die .htaccess-Datei (Hypertext Access) ist der Standardname für die Konfigurationsdatei von Apache auf Verzeichnisebene. Sie wird verwendet, um die Konfiguration von Direktiven und Parametern anzupassen, die in der Hauptkonfigurationsdatei des Hostings definiert sind.
 
2.- Wie erstellen wir eine .htaccess-Datei und wo platzieren wir sie?
Um eine .htaccess-Datei zu erstellen, öffnen Sie einen Texteditor und geben Sie den erforderlichen Code ein. Speichern Sie die Datei als Textdatei (.txt), z.B. „htaccess_file.txt“, und laden Sie sie per FTP in den Ordner hoch, in dem sie verwendet werden soll. Benennen Sie die Datei auf dem Server von „htaccess_file.txt“ in „.htaccess“ um.
 
Wichtig: Wenn Sie bereits eine .htaccess-Datei in Ihrem Hosting haben, können Sie diese verwenden, um diese Konfigurationen anzuwenden. Wenn Sie kürzlich eine Domain-Migration durchgeführt haben, müssen Sie möglicherweise ebenfalls Änderungen vornehmen.
 
Die .htaccess-Datei muss innerhalb des Ordners platziert werden, in dem sie wirksam werden soll. Wenn Sie beispielsweise einen Ordner namens „private“ passwortgeschützt machen möchten, platzieren Sie die .htaccess-Datei im Ordner „private“.
Die .htaccess-Datei hat eine Vielzahl von Verwendungsmöglichkeiten und Funktionen, die auf einer Website sehr nützlich sein können. Im folgenden Tutorial zeigen wir einige der am häufigsten verwendeten Funktionen.
 
3.- Häufige .htaccess-Funktionen
Die .htaccess-Datei hat eine große Anzahl von Funktionen. In diesem Tutorial zeigen wir einige der häufigsten und wie Sie sie konfigurieren:
 
 
Subdomain auf Unterordner umleiten
In einigen Situationen müssen Sie möglicherweise mit .htaccess eine Weiterleitung zum Ordner einer Subdomain erstellen. Wenn die Subdomain „test.example.org“ beispielsweise auf den Ordner „example.org/test“ zeigen soll, müssen Sie die folgenden Direktiven zur .htaccess-Datei hinzufügen:
 
RewriteEngine on
RewriteCond %{HTTP_HOST} ^test.example.com$
RewriteCond %{REQUEST_URI} !^/test/
RewriteRule (.*) /test/$1
 
Die erste Zeile aktiviert die Rewrite-Engine und muss nur angegeben werden, wenn sie nicht zuvor aktiviert wurde.
Die dritte und vierte Zeile führen die Weiterleitung durch.
Die zweite Zeile verhindert, dass die Weiterleitung erneut angewendet wird, wenn sich die Anfrage bereits im Ordner „test“ befindet. Dies ist notwendig, um Fehler und Schleifen zu vermeiden, da die .htaccess-Datei beim Weiterleiten der Anfrage an den Ordner „test“ erneut ausgeführt wird.
 
Website mit 301-, 302-Weiterleitungen umleiten
Wenn Sie beim Zugriff auf die Website die Seite auf eine andere umleiten möchten:
 
RewriteEngine On
RewriteRule ^(.*)$ http://www.webtoredirect.com/$1 [R=301,L]
 
(Bei „R=301“ können Sie die gewünschte Weiterleitungsmethode angeben: 301, 302, usw.)
 
Website auf einen Unterordner umleiten
Wenn sich Ihre Website in einem anderen Unterordner als dem Ordner „web“ befindet, können Sie alle Anfragen auf diesen Unterordner umleiten:
 
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.org\.org$
RewriteRule (.*) http://www.example.org/$1 [R=301,L]
RewriteRule ^$ folder [L]
 
Wobei:
example.org\.org könnte zum Beispiel cdmon.com\.com sein.
Der Ordner könnte zum Beispiel „wordpress“ sein.
 
Zugriffskontrolle für die Website
Sie können den Zugriff so konfigurieren, dass Sie, wenn Sie aus irgendeinem Grund den Zugriff für alle Benutzer verweigern oder nur den Zugriff von einer bestimmten Gruppe von IP-Adressen erlauben möchten, dies tun können.
  • Zugriff auf Ihre Website nur von bestimmten IPs aus erlauben:
 
ErrorDocument 403 http://www.example.org
Require all denied
Require ip 124.34.48.165
Require ip 102.54.68.123
 
Die IPs 124.34.48.165 und 102.54.68.123 sind die IPs, die Zugriff auf die Website haben.
 
  • Zugriff auf die Website nur für bestimmte IPs verweigern:
 
Require all granted
Require not ip 145.186.14.122
Require not ip 124.15
 
Die IP 145.186.14.122 und das Netzwerk 124.15.x.x haben keinen Zugriff auf die Website.
 
Zugriffskontrolle für Ordner
Eine sehr häufige Verwendung von .htaccess besteht darin, den Zugriff auf bestimmte Ordner einzuschränken. Sie möchten möglicherweise den Zugriff auf einen Ordner vollständig deaktivieren, z.B. einen Ordner, der Programmbibliotheken enthält, die in die Hauptdateien eingebunden sind. In diesem Fall können nur die Hauptdateien über das Dateisystem auf sie zugreifen, aber sie sind nicht über das Web zugänglich. Erstellen Sie einfach eine .htaccess-Datei in diesem Ordner mit dem folgenden Code:
  • Zugriff auf einen Ordner vollständig blockieren oder deaktivieren:
 
#deny all access
Require all denied
 
  • Zugriff von einer bestimmten IP aus erlauben:
 
#deny all access
Require all denied
Require ip 212.267.98.14
 
  • Zugriff von einem bestimmten IP-Bereich aus erlauben (erzwungen mit einer Netzmaske):
 
Require ip 192.168.0.0/24
 
  • Zugriff auf eine bestimmte Datei blockieren:
 
Require all denied
 
Verzeichnisauflistung
Sie können .htaccess auch verwenden, um den Inhalt eines Ordners als Verzeichnisliste anzuzeigen.
 
Options +Indexes
 
  • Verzeichnisauflistung, aber ohne Anzeige der Standardsymbole:
 
Options +Indexes
IndexOptions -FancyIndexing
 
  • Möglicherweise möchten Sie die Verzeichnisauflistung auch deaktivieren:
 
IndexIgnore*
 
Anfragen von www.example.org zu example.org umleiten und umgekehrt
Wenn Sie möchten, dass Ihre Website immer ohne www angezeigt wird, fügen Sie den folgenden Code zur .htaccess-Datei hinzu:
 
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(robots\.txt|favicon\.ico|sitemap\.xml)$
RewriteCond %{HTTP_HOST} !^example\.org$ [NC]
RewriteRule ^(.*)$ http://example.org/$1 [R=301,L]
 
Umgekehrt, um die Website immer mit www anzuzeigen:
 
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(robots\.txt|favicon\.ico|sitemap\.xml)$
RewriteCond %{HTTP_HOST} !^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://www.example.org/$1 [R=301,L]
 
Wobei:
example.org könnte zum Beispiel cdmon.com sein.
 
SEO-freundliche Website-Umleitung
Wenn Sie Domainnamen übertragen haben oder auf eine bestimmte Seite umleiten möchten, ohne die Suchergebnisse wie Google zu beeinträchtigen, können Sie den folgenden Code verwenden:
 
Redirect 301 /d/filename.html http://www.example.org
 
Web-Traffic umleiten
Wenn Sie möchten, dass beim Versuch, auf eine bestimmte Datei zuzugreifen, auf eine andere Datei umgeleitet wird, können Sie die Direktive „redirect“ verwenden:
 
 
Auf sichere HTTPS-Verbindung umleiten
Wenn Sie Ihre gesamte Website auf eine sichere (HTTPS)-Verbindung umleiten möchten, ist dies sehr nützlich, wenn Sie z.B. ein SSL-Zertifikat haben und damit arbeiten möchten.
 
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
 
 
Benutzer zur Nutzung von HTTPS für einen bestimmten Ordner umleiten
Wenn Sie nur einen bestimmten Ordner auf eine sichere (HTTPS)-Verbindung umleiten möchten, anstatt die gesamte Website – z.B. wenn Sie einen Shop in einem separaten Ordner haben – sollten Sie den folgenden Code verwenden:
 
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder_name
RewriteRule ^(.*)$ https://www.example.org/$1 [R,L]
 
Hotlinking verhindern
Hotlinking besteht darin, direkt auf Dateien – meist Bilder und Videos – zu verlinken, die zu einer anderen Website gehören. Diese Praxis verbraucht die Bandbreite der ursprünglichen Website, die das Bild hostet. Um zu verhindern, dass andere Ihre Bandbreite „stehlen“, können Sie .htaccess so konfigurieren, dass Hotlinking blockiert wird.
 
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.org/.*$ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ [L]
 
Die letzte Zeile wird verwendet, um anzugeben, welche Arten von Inhalten (basierend auf Dateierweiterungen) Sie nicht als Hotlinking zulassen möchten:
 
RewriteRule .*\.(jpe?g|gif|bmp|png)$ [L]
 
Alternativ können Sie diese andere Regel verwenden, die auch ein Warnbild („no_steal_bandwidth.gif“, das Sie zuvor erstellt haben müssen) anzeigt, um anzuzeigen, dass das Bild von Ihrer Website geladen wird.
 
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/IMG/no_steal_bandwidth.gif$
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.org/.*$ [NC]
RewriteRule .*(gif|jpe?g|png|bmp)$ http://example.org/IMG/no_steal_bandwidth.gif [NC,R,L]
 
In der letzten Zeile geben Sie die Dateierweiterungen an, die Sie vom Hotlinking ausschließen möchten, und das Warnbild, das Sie anzeigen möchten.
 
Standardseite ändern
Sie können die Standard-Indexseite Ihrer Website auf etwas anderes als die bekannte „Index“-Seite festlegen. Hier wird „about.html“ als Startseite festgelegt:
 
#Serve Alternate Default Index Page
DirectoryIndex about.html
  
Site-Caching erzwingen
Der folgende Code erhöht nicht direkt die allgemeine Ladegeschwindigkeit der Website, sorgt aber dafür, dass sie beim erneuten Besuch desselben Benutzers schneller lädt, indem er einen 304-Status für Elemente sendet, die nicht geändert wurden. Sie können die Caching-Häufigkeit ändern, indem Sie die Anzahl der Sekunden ändern (in diesem Beispiel ist sie auf einmal pro Tag eingestellt):

FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus 86400 seconds"
 
Zeichenkompatibilität verbessern
Diese Option ist für diejenigen gedacht, die keinen vom Server erkannten Standard-Zeichensatz verwenden. Mit dieser Einstellung wird der bekannte 500-Fehler vermieden.

AddDefaultCharset utf-8
 
SEO-freundliche URLs erstellen
Eine SEO-freundliche URL besteht darin, eine URL voller Parameter zu verschleiern, um sie sauberer und eleganter zu machen und bessere Suchmaschinenrankings zu erzielen. Je nachdem, wie die Website programmiert ist, variiert der Code, den Sie verwenden müssen.
 
Beispiel 1:
Zum Beispiel ist „ordner/datei.php?id=120&language=de“ keine SEO-freundliche URL, daher sollte sie in „ordner/datei/120/de“ umgewandelt werden, was eleganter ist und bei der Suchmaschinenpositionierung hilft. Dies ist eine SEO-freundliche URL. Mit der .htaccess-Datei können Sie diese „Verschleierung“ für die URL durchführen.
 
Sie haben einen Ordner auf Ihrer Website, der eine Datei enthält, die Parameter empfängt.
 
example.org/ordner/datei.php?id=25
 
Dann müssen Sie innerhalb dieses Ordners eine .htaccess-Datei mit dem folgenden Code erstellen:
 
Options +FollowSymLinks
RewriteEngine on
RewriteRule folder/(.*)/(.*).php$ /folder/file.php?id=$1
 
Die letzte Zeile führt die Änderung durch.
(.*) wird der Parameter sein, den Sie übergeben, $1.
(.*).php$ wird der Dateiname sein, der zum „Verschönern“ der URL verwendet wird.
 
Sobald die .htaccess-Datei erstellt ist, sollten Sie in Ihrem Website-Link Folgendes verwenden:
 
Link zu Datei 25
 
Daher ist „ordner/25/datei-name.php“ dasselbe wie „/ordner/datei.php?id=25“.
 
Beispiel 2:
Wenn Ihre Website eine URL wie „http://www.example.org/index.php?parameter=blog“ verwendet, können Sie sie in „http://www.example.org/blog“ umwandeln.

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ /index.php?parameter=$1 [QSA,L]

Beispiel 3:
Ein weiteres Beispiel für die Umwandlung in SEO-freundliche URLs.
 
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)/page-([0-9]+)$ /index.php?parameter=$1&paginator=$1 [QSA,L]

Beispiel 4:
Code, der von WordPress verwendet wird, um SEO-freundliche URLs zu erstellen.
 
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
 

Für weitere Informationen können Sie uns kontaktieren.
    • Related Articles

    • Standardmäßige .htaccess-Datei von PrestaShop

      Die .htaccess-Datei ist eine Konfigurationsdatei, die auf Apache-basierten Webservern verwendet wird. Sie dient dazu, das Verhalten einer Website zu steuern und zu konfigurieren. Die .htaccess-Datei hat vielfältige Funktionen und ermöglicht es, die ...
    • So schützen Sie Verzeichnisse mit einer .htaccess-Datei

      Über die Datei .htaccess können Sie jedes Verzeichnis in Ihrem Hosting-Konto schützen. 1.- Wie erstelle ich eine .htaccess- und .htpasswd-Datei und wo platziere ich sie? Um eine .htaccess- oder .htpasswd-Datei zu erstellen, öffnen Sie den Editor und ...
    • Was ist der Fehler ERR_TOO_MANY_REDIRECTS und wie lässt er sich beheben?

      Es ist wahrscheinlich, dass Sie beim Surfen im Internet oder sogar auf Ihrer eigenen Website auf eine ERR_TOO_MANY_REDIRECTS-Meldung gestoßen sind, die anzeigt, dass es zu viele Weiterleitungen gibt, um die Verbindung herzustellen. Der Fehler sieht ...
    • So erstellen Sie eine komprimierte Kopie Ihrer Website und laden sie herunter

      Über das Control Panel können Sie eine Komprimierung Ihrer gesamten Website durchführen, um sie später herunterzuladen oder als Sicherungskopie von einem bestimmten Tag aufzubewahren. Rufen Sie dazu Ihr Control Panel auf und gehen Sie zum ...
    • So ändern Sie die mit Magento verknüpfte Domain

      Magento ist ein beliebtes E-Commerce-Content-Management-System, das es uns ermöglicht, unseren Online-Shop flexibel und skalierbar zu verwalten. Im Folgenden erklären wir, wie Sie einige der häufigsten Fehler beheben können, die bei Magento auftreten ...