.htaccess: Unterschied zwischen den Versionen
(→Weiterführende Links) |
|||
(24 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | <seo title=".htaccess | + | <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 | + | 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 | + | 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 | + | 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? == | == 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. Die meisten | + | 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 | + | 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- | + | 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 | + | 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 | + | 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> | + | <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> | + | <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]] | + | 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. | + | * 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
Inhaltsverzeichnis
Allgemeine Informationen
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 |
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. |