.htaccess: Unterschied zwischen den Versionen

Aus Seobility Wiki
Wechseln zu: Navigation, Suche
(Weiterführende Links)
 
(15 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<seo title=".htaccess - Was ist das?" metadescription="Was ist eine .htaccess Datei, wie kann sie erstellt werden und wofür wird sie in der Praxis eingesetzt?" />
+
<seo title="Was ist die .htaccess? Definition + Verwendung" metadescription="Bei einer .htaccess-Datei handelt es sich um eine Datei des Apache-Webservers, mit der Regeln festgelegt werden können. Jetzt weiterlesen ..." />
  
 
== Allgemeine Informationen ==
 
== Allgemeine Informationen ==
 +
[[File:Htaccess-de.png|mini|450px|rechts|alt=htaccess|'''Abbildung:''' .htaccess - Autor: Seobility - Lizenz: [[Creative Commons Lizenz BY-SA 4.0|CC BY-SA 4.0]]|link=https://www.seobility.net/de/wiki/images/c/c2/Htaccess-de.png]]
  
 
Bei einer .htaccess-Datei handelt es sich um eine Konfigurationsdatei des Apache-Webservers, mit der verzeichnisbezogene Regeln festgelegt werden können. Htaccess steht für hypertext access und stellt einen wichtigen Bestandteil der Konfiguration eines Webservers dar und wird verwendet, um beispielsweise bestimmten Nutzern Zugriff auf bestimmte Verzeichnisse und Daten auf einem Server zu erlauben.  
 
Bei einer .htaccess-Datei handelt es sich um eine Konfigurationsdatei des Apache-Webservers, mit der verzeichnisbezogene Regeln festgelegt werden können. Htaccess steht für hypertext access und stellt einen wichtigen Bestandteil der Konfiguration eines Webservers dar und wird verwendet, um beispielsweise bestimmten Nutzern Zugriff auf bestimmte Verzeichnisse und Daten auf einem Server zu erlauben.  
Zeile 11: Zeile 12:
 
== Wie kann eine .htaccess Datei erstellt werden? ==
 
== Wie kann eine .htaccess Datei erstellt werden? ==
  
Bei .htaccess-Dateien handelt es sich um reine Textdateien, die sich mit einem einfachen Texteditor wie zum Beispiel Notepad++ relativ einfach bearbeiten lassen. Indem beim Speichern als Dateityp "Alle Dateien" ausgewählt wird, lässt sich die Datei als .htaccess speichern, ohne dass Windows ein ".txt" anhängt. Die meisten Webserver stellen ihren Nutzern Remote-Zugang per Telnet- oder SSH zur Verfügung. Somit können .htaccess-Dateien direkt auf dem Server erstellt und bearbeitet werden, indem der geeignete Texteditor aufgerufen wird. Wenn sich der Zugang zum Webserver jedoch lediglich per [[FTP (File Transfer Protocol)|FTP]] realisieren lässt, kann eine .htaccess-Datei lokal auf dem eigenen Computer erstellt und danach hochgeladen werden.  
+
Bei .htaccess-Dateien handelt es sich um reine Textdateien, die sich mit einem einfachen Texteditor wie zum Beispiel Notepad++ relativ einfach bearbeiten lassen. Indem beim Speichern als Dateityp "Alle Dateien" ausgewählt wird, lässt sich die Datei als .htaccess speichern, ohne dass Windows ein ".txt" anhängt. Die meisten Server stellen ihren Nutzern Remote-Zugang zur Verfügung. Somit können .htaccess-Dateien direkt auf dem Server erstellt und bearbeitet werden, indem der geeignete Texteditor aufgerufen wird.
  
Die Konfigurationsdateien gelten für das Verzeichnis, in dem sie abgelegt werden und alle dazugehörigen Unterverzeichnisse. Wenn in einem der Unterverzeichnisse eine andere Konfiguration gelten soll, muss dort wiederum eine eigene .htaccess-Datei erstellt und abgelegt werden. Die Einträge der jeweils geltenden Konfigurationsdatei überschreiben die Konfigurationseinträge aus den darüber liegenden Verzeichnissen.
+
Die Konfigurationsdateien gelten für das Verzeichnis, in dem sie abgelegt werden und alle dazugehörigen Unterverzeichnisse. Wenn in einem der Unterverzeichnisse eine zusätzliche Konfiguration gelten soll, muss dort wiederum eine eigene .htaccess-Datei erstellt und abgelegt werden. Die Einträge der jeweils geltenden Konfigurationsdatei ergänzen die Konfigurationseinträge aus den darüber liegenden Verzeichnissen.
  
 
== Wofür wird die .htaccess Datei verwendet? ==
 
== Wofür wird die .htaccess Datei verwendet? ==
  
Die klassischen Einsatzbereiche der .htaccess-Datei sind das Umleiten und Umschreiben von URLs, also von statischen Adressen, die auf die Position einer Datei auf einem Webserver zeigen und diese aufrufen. Darüber hinaus werden die Konfigurationsdateien eingesetzt, um Fehlerdokumente zu verwalten und den Zugriff auf einzelne Ressourcen oder ganze Verzeichnisse zu regeln.
+
Die klassischen Einsatzbereiche der .htaccess-Datei sind die Zugriffssteuerung sowie das Umleiten und Umschreiben von URLs, also von statischen Adressen, die auf die Position einer Datei auf einem Webserver zeigen und diese aufrufen. Darüber hinaus werden die Konfigurationsdateien eingesetzt, um Fehlerdokumente zu verwalten und den Zugriff auf einzelne Ressourcen oder ganze Verzeichnisse zu regeln.
  
 
=== Umschreiben von dynamischen in statische URLs ===
 
=== Umschreiben von dynamischen in statische URLs ===
  
Das Apache-Modul "[[mod_rewrite]]" ist auf den meisten Apache-Webservern standardmäßig installiert und aktiviert. Es wird in erster Linie eingesetzt, um dynamische URLs umzuschreiben, sodass diese für Menschen und Suchmaschinen wie statische URLs aussehen und von [[Suchmaschinen Crawler|Web-Crawlern]] auch so behandelt werden. Bei einer dynamischen URL handelt es sich um eine dynamische Website, die im Moment der Abfrage aus in einer Datenbank hinterlegten Daten und einer Anwendung erzeugt wird. Beispiel-Eintrag in die .htaccess-Datei, um dynamische URLs in statische zu konvertieren:
+
Das Umschreiben von URLs funktioniert mit Hilfe des Apache-Moduls "[[mod_rewrite]]". Dieses Modul wird in erster Linie eingesetzt, um dynamische URLs umzuschreiben, sodass diese für Menschen und Suchmaschinen wie statische URLs aussehen und von [[Suchmaschinen Crawler|Web-Crawlern]] auch so behandelt werden. Bei einer dynamischen URL handelt es sich um eine dynamische Website, die im Moment der Abfrage aus in einer Datenbank hinterlegten Daten und einer Anwendung erzeugt wird. Beispiel-Eintrag in die .htaccess-Datei, um dynamische URLs in statische zu konvertieren:
  
 
<pre>RewriteEngine On
 
<pre>RewriteEngine On
 
RewriteRule (.*)_(.*).html$ /example.php?url_isbn=$1 [qsappend,L]</pre>
 
RewriteRule (.*)_(.*).html$ /example.php?url_isbn=$1 [qsappend,L]</pre>
  
Im obigen Beispiel ist /example.php die dynamische URL, die in /example-1.html umgeschrieben werden soll, wobei 1 eine Variable ist.
+
Im obigen Beispiel ist /example.php die dynamische URL, die in /example-1.html umgeschrieben werden soll, wobei 1 eine Backreference ist.
  
 
=== Erstellen von passwortgeschützten Bereichen ===
 
=== Erstellen von passwortgeschützten Bereichen ===
  
Wer keine komplizierten Login-Scripts einsetzen, dennoch aber auf passwortgeschützte Bereiche auf seinem Server nicht verzichten möchte, kann stattdessen auf Möglichkeiten der .htaccess-Datei zurückgreifen. Für diese Art der Authentifizierung muss zunächst eine Datei mit dem Namen .htpasswd erstellt werden. In dieser werden die User mit den dazugehörigen Passwörtern gespeichert, wobei diese auch unverschlüsselt eingetragen werden dürfen. Passwortgeschützte Bereiche können auf folgende Weise erstellt werden:
+
Wer keine komplizierten Login-Scripts einsetzen, dennoch aber auf passwortgeschützte Bereiche auf seinem Server nicht verzichten möchte, kann stattdessen auf Möglichkeiten der .htaccess-Datei zurückgreifen. Für diese Art der Authentifizierung muss zunächst eine Datei erstellt werden, in der die User mit den dazugehörigen Passwörtern gespeichert werden. Diese können theoretisch unverschlüsselt eingetragen werden, praktisch macht eine Verschlüsselung aus Sicherheitsgründen aber Sinn. Passwortgeschützte Bereiche können auf folgende Weise erstellt werden:
  
 
<pre>AuthType Basic
 
<pre>AuthType Basic
Zeile 49: Zeile 50:
 
Einer der wichtigsten Einsatzbereiche von .htaccess sind Weiterleitungen ([[Redirect]]s). Mit dieser Technik lassen sich sowohl einzelne Dateien innerhalb einer Domain als auch Anfragen auf eine externe Domain weiterleiten. Dies ist besonders dann nützlich, wenn die Website auf eine neue Domain umzieht. Wenn der folgende Code im [[Root Directory|Root-Verzeichnis]] gespeichert wird, sorgt er dafür, dass alle Anfragen an die ursprüngliche Domain vom Apache-Webserver zu der neuen Domain weitergeleitet werden:
 
Einer der wichtigsten Einsatzbereiche von .htaccess sind Weiterleitungen ([[Redirect]]s). Mit dieser Technik lassen sich sowohl einzelne Dateien innerhalb einer Domain als auch Anfragen auf eine externe Domain weiterleiten. Dies ist besonders dann nützlich, wenn die Website auf eine neue Domain umzieht. Wenn der folgende Code im [[Root Directory|Root-Verzeichnis]] gespeichert wird, sorgt er dafür, dass alle Anfragen an die ursprüngliche Domain vom Apache-Webserver zu der neuen Domain weitergeleitet werden:
  
<pre>RewriteEngine On
+
<pre>RewriteCond %{REQUEST_URI} (.*)
RewriteCond %{REQUEST_URI} (.*)
 
 
RewriteRule ^(.*)$ http://new-domain.tld/$1 [L,R=301]</pre>
 
RewriteRule ^(.*)$ http://new-domain.tld/$1 [L,R=301]</pre>
  
Zeile 57: Zeile 57:
 
Mit derselben Vorgehensweise lassen sich einzelne Dateien innerhalb einer Website weiterleiten:
 
Mit derselben Vorgehensweise lassen sich einzelne Dateien innerhalb einer Website weiterleiten:
  
<pre>RewriteEngine On
+
<pre>Redirect 301 /old-path/file.html http://www.example.com/new-path/file.html</pre>
Redirect 301 /old-path/file.html http://www.example.com/new-path/file.html</pre>
 
  
 
=== Blockieren bestimmter IP-Adressen ===
 
=== Blockieren bestimmter IP-Adressen ===
  
Die .htaccess Datei kann außerdem genutzt werden, um bestimmten [[IP-Adresse|IP-Adressen]] (beispielsweise bei Cyberangriffen) den Zugriff auf eine Website zu verweigern. Hierfür muss folgender Eintrag in die Datei eingefügt werden:
+
Die .htaccess Datei kann außerdem genutzt werden, um bestimmten [[IP-Adresse|IP-Adressen]] den Zugriff auf eine Website zu verweigern. Hierfür muss folgender Eintrag in die Datei eingefügt werden:
  
 
<pre>order allow,deny  
 
<pre>order allow,deny  
Zeile 78: Zeile 77:
  
 
* https://jweiland.net/know-how/internet/htaccess-konfigurieren.html
 
* https://jweiland.net/know-how/internet/htaccess-konfigurieren.html
* https://www.was-mit-internet.de/htaccess-konfiguration/
+
* https://www.deinwp.de/htaccess/
  
 
== Ähnliche Artikel ==
 
== Ähnliche Artikel ==
Zeile 86: Zeile 85:
  
 
[[Kategorie:Web Entwicklung]]
 
[[Kategorie:Web Entwicklung]]
 +
 +
<html><script type="application/ld+json">
 +
  {
 +
    "@context": "https://schema.org/",
 +
    "@type": "ImageObject",
 +
    "contentUrl": "https://www.seobility.net/de/wiki/images/c/c2/Htaccess-de.png",
 +
    "license": "https://creativecommons.org/licenses/by-sa/4.0/deed.de",
 +
    "acquireLicensePage": "https://www.seobility.net/de/wiki/Creative_Commons_Lizenz_BY-SA_4.0"
 +
  }
 +
  </script></html>
 +
 +
{| class="wikitable" style="text-align:left"
 +
|-
 +
|'''Über den Autor'''
 +
|-
 +
| [[File:Seobility S.jpg|link=|100px|left|alt=Seobility S]] Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. <html><a href="https://www.seobility.net/de/wiki/Seobility_Wiki_Team" target="_blank">Mehr Informationen über das Seobility Wiki Team</a></html>.
 +
|}
 +
 +
<html><script type="application/ld+json">
 +
{
 +
  "@context": "https://schema.org",
 +
  "@type": "Article",
 +
  "author": {
 +
    "@type": "Organization",
 +
    "name": "Seobility",
 +
    "url": "https://www.seobility.net/"
 +
  }
 +
}
 +
</script></html>

Aktuelle Version vom 20. Juni 2024, 07:41 Uhr

Allgemeine Informationen

htaccess
Abbildung: .htaccess - Autor: Seobility - Lizenz: CC BY-SA 4.0

Bei einer .htaccess-Datei handelt es sich um eine Konfigurationsdatei des Apache-Webservers, mit der verzeichnisbezogene Regeln festgelegt werden können. Htaccess steht für hypertext access und stellt einen wichtigen Bestandteil der Konfiguration eines Webservers dar und wird verwendet, um beispielsweise bestimmten Nutzern Zugriff auf bestimmte Verzeichnisse und Daten auf einem Server zu erlauben.

Den .htaccess Dateien für einzelne Verzeichnisse übergeordnet sind die zentralen Konfigurationsdateien (httpd.conf), die die grundlegende Arbeitsweise eines Apache-Webservers regeln. Diese befinden sich jedoch innerhalb des Dateienverzeichnisses des Webservers, sodass sogar Nutzer, die ein Web-Projekt verwalten, keinen direkten Zugriff auf diese Konfigurationsdateien haben.

Wenn ein Benutzer die Berechtigung erhalten soll, die bestehenden Konfigurationen aus der zentralen Konfigurationsdatei für ein einzelnes Verzeichnis zu überschreiben und individuell neu einzustellen, wird ihm der Zugriff auf die .htaccess-Datei genehmigt. Der Benutzer hat dann die Möglichkeit .htaccess-Dateien in seinem eigenen Verzeichnis anzulegen und nach individuellen Anforderungen und Bedürfnissen zu konfigurieren. Alle Einstellungen, die in einer .htaccess-Datei vorgenommen werden, gelten für das jeweilige Verzeichnis inklusive aller Unterverzeichnisse, in dem die Datei abgelegt wurde. Alle neu konfigurierten Einstellungen treten sofort in Kraft, sodass ein Neustart des Webservers nicht nötig ist. Der Webserver Apache sucht bei jedem Aufruf einer Website automatisch nach der zuständigen .htaccess-Datei, um die dort festgelegte Konfiguration ergänzend zur httpd.conf anzuwenden.

Wie kann eine .htaccess Datei erstellt werden?

Bei .htaccess-Dateien handelt es sich um reine Textdateien, die sich mit einem einfachen Texteditor wie zum Beispiel Notepad++ relativ einfach bearbeiten lassen. Indem beim Speichern als Dateityp "Alle Dateien" ausgewählt wird, lässt sich die Datei als .htaccess speichern, ohne dass Windows ein ".txt" anhängt. Die meisten Server stellen ihren Nutzern Remote-Zugang zur Verfügung. Somit können .htaccess-Dateien direkt auf dem Server erstellt und bearbeitet werden, indem der geeignete Texteditor aufgerufen wird.

Die Konfigurationsdateien gelten für das Verzeichnis, in dem sie abgelegt werden und alle dazugehörigen Unterverzeichnisse. Wenn in einem der Unterverzeichnisse eine zusätzliche Konfiguration gelten soll, muss dort wiederum eine eigene .htaccess-Datei erstellt und abgelegt werden. Die Einträge der jeweils geltenden Konfigurationsdatei ergänzen die Konfigurationseinträge aus den darüber liegenden Verzeichnissen.

Wofür wird die .htaccess Datei verwendet?

Die klassischen Einsatzbereiche der .htaccess-Datei sind die Zugriffssteuerung sowie das Umleiten und Umschreiben von URLs, also von statischen Adressen, die auf die Position einer Datei auf einem Webserver zeigen und diese aufrufen. Darüber hinaus werden die Konfigurationsdateien eingesetzt, um Fehlerdokumente zu verwalten und den Zugriff auf einzelne Ressourcen oder ganze Verzeichnisse zu regeln.

Umschreiben von dynamischen in statische URLs

Das Umschreiben von URLs funktioniert mit Hilfe des Apache-Moduls "mod_rewrite". Dieses Modul wird in erster Linie eingesetzt, um dynamische URLs umzuschreiben, sodass diese für Menschen und Suchmaschinen wie statische URLs aussehen und von Web-Crawlern auch so behandelt werden. Bei einer dynamischen URL handelt es sich um eine dynamische Website, die im Moment der Abfrage aus in einer Datenbank hinterlegten Daten und einer Anwendung erzeugt wird. Beispiel-Eintrag in die .htaccess-Datei, um dynamische URLs in statische zu konvertieren:

RewriteEngine On
RewriteRule (.*)_(.*).html$ /example.php?url_isbn=$1 [qsappend,L]

Im obigen Beispiel ist /example.php die dynamische URL, die in /example-1.html umgeschrieben werden soll, wobei 1 eine Backreference ist.

Erstellen von passwortgeschützten Bereichen

Wer keine komplizierten Login-Scripts einsetzen, dennoch aber auf passwortgeschützte Bereiche auf seinem Server nicht verzichten möchte, kann stattdessen auf Möglichkeiten der .htaccess-Datei zurückgreifen. Für diese Art der Authentifizierung muss zunächst eine Datei erstellt werden, in der die User mit den dazugehörigen Passwörtern gespeichert werden. Diese können theoretisch unverschlüsselt eingetragen werden, praktisch macht eine Verschlüsselung aus Sicherheitsgründen aber Sinn. Passwortgeschützte Bereiche können auf folgende Weise erstellt werden:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile //.htpasswd
AuthPGAuthoritative Off
require user User1 User2 User3 User4

Die .htpasswd-Datei mit den Usern und den zugehörigen verschlüsselten Passwörtern wird separat erstellt:

User1:dsdR4578
User2:tTr84546
User3:dFd87f4d
User4:qOkp8745

Weiterleitungen

Einer der wichtigsten Einsatzbereiche von .htaccess sind Weiterleitungen (Redirects). Mit dieser Technik lassen sich sowohl einzelne Dateien innerhalb einer Domain als auch Anfragen auf eine externe Domain weiterleiten. Dies ist besonders dann nützlich, wenn die Website auf eine neue Domain umzieht. Wenn der folgende Code im Root-Verzeichnis gespeichert wird, sorgt er dafür, dass alle Anfragen an die ursprüngliche Domain vom Apache-Webserver zu der neuen Domain weitergeleitet werden:

RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://new-domain.tld/$1 [L,R=301]

Wie in dem Codebeispiel zu sehen ist, kommt hier ebenfalls das Modul mod_rewrite zum Einsatz.

Mit derselben Vorgehensweise lassen sich einzelne Dateien innerhalb einer Website weiterleiten:

Redirect 301 /old-path/file.html http://www.example.com/new-path/file.html

Blockieren bestimmter IP-Adressen

Die .htaccess Datei kann außerdem genutzt werden, um bestimmten IP-Adressen den Zugriff auf eine Website zu verweigern. Hierfür muss folgender Eintrag in die Datei eingefügt werden:

order allow,deny 
deny from 195.138.7.19 
deny from 10.10.20.73 
allow from all

Hierbei wird jede IP-Adresse, die blockiert werden soll, in eine eigene Zeile eingetragen.

Wann sollte eine .htaccess Datei eingesetzt werden?

Die .htaccess-Datei ist eine bedeutende Konfigurationsdatei, mit der sich unterschiedliche Einstellungen am Apache-Webserver realisieren lassen. Da alle Änderungen in der Konfiguration sofort in Kraft treten, kommt dem richtigen Umgang mit .htaccess eine wichtige Rolle zu. Falsche Angaben und Konfigurationen in einer .htaccess-Datei können erheblichen Schaden an der betroffenen Website verursachen. Aus diesem Grund sollte die Datei stets mit Bedacht eingesetzt werden und nur dann, wenn kein Zugriff auf die zentrale Konfigurationsdatei vorhanden ist.

Weiterführende Links

Ähnliche Artikel

Über den Autor
Seobility S
Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. Mehr Informationen über das Seobility Wiki Team.

Überprüfen Sie Ihre Webseite mit
dem SEO Check!