CINXE.COM
Webserver/htaccess – SELFHTML-Wiki
<!DOCTYPE html> <html lang="de-formal" dir="ltr" class="client-nojs"> <head> <meta charset="UTF-8"/> <title>Webserver/htaccess – SELFHTML-Wiki</title> <script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script> <script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Webserver/htaccess","wgTitle":"Webserver/htaccess","wgCurRevisionId":94505,"wgRevisionId":94505,"wgArticleId":4128,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webserver","Artikel"],"wgBreakFrames":false,"wgPageContentLanguage":"de-formal","wgPageContentModel":"wikitext","wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgMonthNamesShort":["","Jan.","Feb.","Mär.","Apr.","Mai","Jun.","Jul.","Aug.","Sep.","Okt.","Nov.","Dez."],"wgRelevantPageName":"Webserver/htaccess","wgRelevantArticleId":4128,"wgRequestId":"ZmuIFV6868I@hHvfBnHnEgAAAAM","wgIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgWikiEditorEnabledModules":{"toolbar":false,"dialogs":false,"preview":false,"publish":false},"wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}"});mw.loader.implement("user.options",function($,jQuery,require,module){mw.user.options.set({"variant":"de-formal"});});mw.loader.implement("user.tokens",function ( $, jQuery, require, module ) { mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});/*@nomin*/; });mw.loader.load(["mediawiki.page.startup","ext.smw.style","skins.vector.js"]);});</script> <link rel="stylesheet" href="/load.php?debug=false&lang=de-formal&modules=ext.smw.style%7Cext.smw.tooltip.styles&only=styles&skin=selfhtml"/> <link rel="stylesheet" href="/load.php?debug=false&lang=de-formal&modules=mediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.sectionAnchor%7Cmediawiki.skinning.interface%7Cskins.selfhtml&only=styles&skin=selfhtml"/> <meta name="ResourceLoaderDynamicStyles" content=""/> <link rel="stylesheet" href="/load.php?debug=false&lang=de-formal&modules=site&only=styles&skin=selfhtml"/> <script async="" src="/load.php?debug=false&lang=de-formal&modules=startup&only=scripts&skin=selfhtml"></script> <meta name="generator" content="MediaWiki 1.27.3"/> <link rel="ExportRDF" type="application/rdf+xml" title="Webserver/htaccess" href="/index.php?title=Spezial:RDF_exportieren/Webserver/htaccess&xmlmime=rdf"/> <link rel="shortcut icon" href="/skins/Selfhtml/images/favicon2.ico"/> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch_desc.php" title="SELFHTML-Wiki (de-formal)"/> <link rel="EditURI" type="application/rsd+xml" href="//wiki.selfhtml.org/api.php?action=rsd"/> <link rel="copyright" href="http://creativecommons.org/licenses/by-sa/3.0/de/"/> <meta name="viewport" content="width=device-width, initial-scale=1" /> </head> <body class="mediawiki ltr sitedir-ltr capitalize-all-nouns ns-0 ns-subject page-Webserver_htaccess rootpage-Webserver skin-selfhtml action-view"> <div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading" lang="de-formal">Webserver/htaccess</h1> <div id="bodyContent" class="mw-body-content"> <div id="siteSub">Aus SELFHTML-Wiki</div> <div id="contentSub"><span class="subpages">< <a href="/wiki/Webserver" title="Webserver">Webserver</a></span></div> <div id="jump-to-nav" class="mw-jump"> Wechseln zu: <a href="#mw-head">Navigation</a>, <a href="#p-search">Suche</a> </div> <div id="mw-content-text" lang="de-formal" dir="ltr" class="mw-content-ltr"><div class="floatright"><a href="/wiki/Datei:Htaccess-icon.svg" class="image"><img alt="Htaccess-icon.svg" src="/images/thumb/d/de/Htaccess-icon.svg/250px-Htaccess-icon.svg.png" width="250" height="174" srcset="/images/thumb/d/de/Htaccess-icon.svg/375px-Htaccess-icon.svg.png 1.5x, /images/thumb/d/de/Htaccess-icon.svg/500px-Htaccess-icon.svg.png 2x" /></a></div>Die <b>.htaccess-Datei</b> (englisch <i>hypertext access</i> „Hypertext-Zugriff“) ist eine Konfigurationsdatei auf NCSA-kompatiblen Webservern wie dem vor allem bei <a href="/wiki/Wie_fange_ich_an%3F/Web-Hosting#Virtual_Hosting_mit_eigener_Domain" title="Wie fange ich an?/Web-Hosting">Shared-Hosting</a> weit verbreiteten <a href="/wiki/Apache" title="Apache" class="mw-redirect">Apache</a>. Sie erlaubt sehr weitreichende Einstellungen und Vorgaben für <b>verzeichnisbezogene Regeln</b>. <p>So können Sie … </p> <ul><li> automatische <a href="/wiki/Webserver/htaccess/Umleitungen_mit_mod_rewrite" title="Webserver/htaccess/Umleitungen mit mod rewrite">Weiterleitungen</a> einstellen </li> <li> Daten mit Passwörtern schützen</li> <li> aber auch ganze oder nur bestimmte Benutzerkreise automatisch <a href="/wiki/Webserver/htaccess/Zugriffskontrolle" title="Webserver/htaccess/Zugriffskontrolle">aussperren</a>. </li> <li> eigene Regelungen für den Fall von <a href="/wiki/Webserver/htaccess/Fehlermeldungen" title="Webserver/htaccess/Fehlermeldungen">HTTP-Fehlermeldungen</a> schaffen.</li> <li> Optionen zum so genannten <a href="/wiki/Webserver/htaccess/Verzeichnisoptionen#Verzeichnis-Browsing_einstellen" title="Webserver/htaccess/Verzeichnisoptionen">Verzeichnis-Browsing</a> einstellen </li> <li> und sogar abhängig von bestimmten Bedingungen <a href="/wiki/Webserver/htaccess/alternative_Inhalte" title="Webserver/htaccess/alternative Inhalte">alternative Inhalte</a> z. B. abhängig von der Sprache des benutzten Web-Browsers anbieten – ohne PHP, ohne JavaScript. </li></ul> <div class="nSpalten" style="column-count:2; column-width: 15em;"> <ol><li> <a href="#Funktionsweise">Funktionsweise</a> <ul><li>.htaccess aktivieren</li> <li> AllowOverride</li></ul></li> <li> <a href="/wiki/Webserver/htaccess/Umleitungen_mit_mod_rewrite" title="Webserver/htaccess/Umleitungen mit mod rewrite"><b>Umleitungen</b> mit mod rewrite</a> <ul><li> RewriteEngine - Umleitungen bestimmen</li> <li> RewriteCond - Bedingungen definieren</li> <li> RewriteRule</li></ul></li> <li> <a href="/wiki/Webserver/htaccess/Zugriffskontrolle" title="Webserver/htaccess/Zugriffskontrolle"><b>Zugriffskontrolle</b></a> <ul><li> <a href="/wiki/Webserver/htaccess/Zugriffskontrolle#Verzeichnisse_und_Dateien_mit_Passwort_sch.C3.BCtzen" title="Webserver/htaccess/Zugriffskontrolle">Passwortschutz</a></li> <li> <a href="/wiki/Webserver/htaccess/Zugriffskontrolle#IP-Adressen_oder_IP-Bereiche_zulassen.2Fausschlie.C3.9Fen" title="Webserver/htaccess/Zugriffskontrolle">IP-Adressen ausschließen</a></li></ul></li> <li> <a href="/wiki/Webserver/htaccess/Fehlermeldungen" title="Webserver/htaccess/Fehlermeldungen"><b>Fehlermeldungen</b></a> <ul><li> 404 - lokale Fehlerseite</li></ul></li> <li> <a href="/wiki/Webserver/htaccess/Verzeichnisoptionen" title="Webserver/htaccess/Verzeichnisoptionen"><b>Verzeichnisoptionen</b></a> <ul><li> <a href="/wiki/Webserver/htaccess/Verzeichnisoptionen#Verzeichnis-Browsing_einstellen" title="Webserver/htaccess/Verzeichnisoptionen">Verzeichnis-Browsing einstellen</a></li> <li> <a href="/wiki/Webserver/htaccess/Verzeichnisoptionen#Aliasing_von_Webverzeichnissen" title="Webserver/htaccess/Verzeichnisoptionen">Aliasing von Webverzeichnissen</a></li></ul></li> <li> <a href="/wiki/Webserver/htaccess/alternative_Inhalte" title="Webserver/htaccess/alternative Inhalte">alternative Inhalte</a> <ul><li> Sprachauswahl mit Multiview<br /><br /><br /><br /></li></ul></li></ol> </div> <p><br /> </p> <div role="complementary" class="aside"><dl><dt><a href="/wiki/Datei:Time-icon.svg" class="image" title="Lesedauer"><img alt="Lesedauer" src="/images/thumb/d/d9/Time-icon.svg/36px-Time-icon.svg.png" width="36" height="36" srcset="/images/thumb/d/d9/Time-icon.svg/54px-Time-icon.svg.png 1.5x, /images/thumb/d/d9/Time-icon.svg/72px-Time-icon.svg.png 2x" /></a></dt><dd>10min</dd><dt><a href="/wiki/Datei:Meter-icon.svg" class="image" title="Schwierigkeitsgrad"><img alt="Schwierigkeitsgrad" src="/images/thumb/2/2b/Meter-icon.svg/36px-Meter-icon.svg.png" width="36" height="36" srcset="/images/thumb/2/2b/Meter-icon.svg/54px-Meter-icon.svg.png 1.5x, /images/thumb/2/2b/Meter-icon.svg/72px-Meter-icon.svg.png 2x" /></a></dt><dd>mittel</dd><dt><a href="/wiki/Datei:Vorwissen-icon.svg" class="image" title="vorausgesetztes Wissen"><img alt="Vorausgesetztes Wissen" src="/images/thumb/0/03/Vorwissen-icon.svg/36px-Vorwissen-icon.svg.png" width="36" height="36" srcset="/images/thumb/0/03/Vorwissen-icon.svg/54px-Vorwissen-icon.svg.png 1.5x, /images/thumb/0/03/Vorwissen-icon.svg/72px-Vorwissen-icon.svg.png 2x" /></a></dt><dd>Grundkenntnisse in<br />● <a href="/wiki/Webserver" title="Webserver">Webserver</a></dd></dl></div> <div id="toc" class="toc"><div id="toctitle"><h2>Inhaltsverzeichnis</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Funktionsweise"><span class="tocnumber">1</span> <span class="toctext">Funktionsweise</span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#Wie_hei.C3.9Ft_eigentlich_die_.htaccess-Datei.3F"><span class="tocnumber">1.1</span> <span class="toctext">Wie heißt eigentlich die .htaccess-Datei?</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-3"><a href="#.htaccess-Datei_bearbeiten"><span class="tocnumber">2</span> <span class="toctext">.htaccess-Datei bearbeiten</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.htaccess_freischalten"><span class="tocnumber">3</span> <span class="toctext">.htaccess freischalten</span></a> <ul> <li class="toclevel-2 tocsection-5"><a href="#AllowOverride"><span class="tocnumber">3.1</span> <span class="toctext">AllowOverride</span></a></li> <li class="toclevel-2 tocsection-6"><a href="#Erlaubte_Anweisungen_in_.htaccess-Dateien"><span class="tocnumber">3.2</span> <span class="toctext">Erlaubte Anweisungen in .htaccess-Dateien</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-7"><a href="#Weblinks"><span class="tocnumber">4</span> <span class="toctext">Weblinks</span></a></li> </ul> </div> <h2><span class="mw-headline" id="Funktionsweise">Funktionsweise</span></h2> <p>Dateien mit dem Namen <code>.htaccess</code> (das erste Zeichen ist ein Punkt) sind Bestandteile der Konfiguration <a href="/wiki/Webserver/Apache" title="Webserver/Apache">apachoider Webserver</a>. Dabei liegt/liegen eine (oder mehrere) zentrale Konfigurationsdatei(en) – die <code><a href="/wiki/Webserver/Apache#Die_Konfigurationsdatei_httpd.conf" title="Webserver/Apache">httpd.conf</a></code> - normalerweise innerhalb des Programmverzeichnisses des Webservers selbst, worauf Benutzer, die ein Web-Projekt verwalten, in aller Regel keinen Zugriff erhalten. </p><p>Der Server-Administrator legt in dieser zentralen Konfiguration fest, welche Berechtigungen er welchen Benutzern oder auch welchen Webangeboten (<a href="/wiki/Virtuelle_Hosts" title="Virtuelle Hosts" class="mw-redirect">virtuellen Hosts</a>) zugestehen möchte. Nur dann, wenn ein Benutzer das Recht erhalten soll, die Vorgaben aus der zentralen Konfiguration zu überschreiben und individuell neu festzulegen, wird ihm die Nutzung von .htaccess-Dateien erlaubt. </p><p><code>.htaccess</code>-Dateien können in allen Verzeichnissen, in denen HTML-Dateien, Grafikdateien usw. liegen, abgelegt werden, betreuen, falls Ihr Provider Ihnen diese Möglichkeit einräumt. </p><p>Der Apache-Webserver überprüft bei jedem einzelnen Seitenzugriff vom angeforderten Dokument aus rekursiv sämtliche Verzeichnisse, ob irgendwo eine solche Datei liegt. Im Allgemeinen gilt jeweils die letzte ermittelte Anweisung. Und diese Information darf er nicht zwischenspeichern – denn die von .htaccess-Dateien konfigurierten Servereinstellungen sollen unmittelbar in demselben Moment gültig sein, in dem die .htaccess-Datei existiert, ohne Server-Neustart. Die Dezentralisierung der Konfiguration kostet also auch etwas Rechnerleistung. </p><p>Mittlerweile erlauben selbst <a href="/wiki/Wie_fange_ich_an%3F/Web-Hosting" title="Wie fange ich an?/Web-Hosting">kostenlose Hoster</a> oft den Einsatz von <code>.htaccess</code>-Dateien. </p> <div role="note"><strong>Empfehlung:</strong> Kontaktieren Sie Ihren Provider, … <ol><li> ob ein Einsatz von <code>.htaccess</code>-Dateien möglich ist. </li> <li> welche Namenskonventionen zu berücksichtigen sind.</div></li></ol> <h3><span class="mw-headline" id="Wie_hei.C3.9Ft_eigentlich_die_.htaccess-Datei.3F">Wie heißt eigentlich die .htaccess-Datei?</span></h3> <p>Ganz allgemein gesagt: So, wie der Webmaster sie in der Direktive <code>AccessFileName</code> in der Hauptkonfiguration festgelegt hat. </p><p><code>.htaccess</code> ist lediglich der voreingestellte Defaultwert in der <a href="/wiki/Webserver/Apache#Die_Konfigurationsdatei_httpd.conf" title="Webserver/Apache">Apache-Konfiguration</a>. Außerdem legt der Webserver in der Hauptkonfiguration fest, wie Dateinamen beginnen, die per HTTP/s <b>keinesfalls</b> an den Client ausgeliefert werden sollen, auch wenn dieser explizit danach fragt. Als Konvention hat sich hier <code>.ht</code> eingebürgert. </p><p>Dass der Name .htaccess mit einem Punkt beginnt, ist eine Tradition aus der Unix-Welt. Dort beginnen viele verzeichnisspezifische Konfigurationsdateien mit einem Punkt, wodurch sie als „versteckt“ gekennzeichnet werden. </p><p>Vielleicht ist es gar nicht erwünscht, dass der Name einer so wichtigen Datei mit einem Punkt beginnt, also bei bestimmten Verzeichnislisten auf UNIX-Servern ggf. gar nicht angezeigt wird, wenn man etwa beim UNIX-Kommando <code>ls</code> nicht explizit den Operand <code>-a</code> angibt (wie das manche FTP-Clients tun). </p><p>Setzen Sie zur Verwaltung Ihres Webangebots einen grafischen <a href="/wiki/FTP" title="FTP" class="mw-redirect">FTP</a>-Client ein, kann es Ihnen daher passieren, dass eine .htaccess-Datei, die Sie gerade hochgeladen haben, plötzlich nicht mehr zu existieren scheint. </p> <h2><span class="mw-headline" id=".htaccess-Datei_bearbeiten">.htaccess-Datei bearbeiten</span></h2> <p>.htaccess-Dateien sind reine Textdateien, die mit einem Texteditor bearbeitet werden können. Mit einem <a href="/wiki/SSH" title="SSH" class="mw-redirect">SSH</a>-Zugang können Sie solche Dateien direkt auf dem Server erstellen und bearbeiten, indem Sie dort einen geeigneten Texteditor aufrufen (auf Unix-Systemen z. B. den vi-Editor). </p><p>Wenn Sie nur FTP-Zugang zu dem Server-Rechner haben, können Sie eine solche Datei auf Ihrem lokalen PC mit einem Texteditor erstellen und dann hochladen. Auf einem Windows-System dürfen Sie allerdings solche Dateinamen, die mit einem Punkt beginnen, nicht unmittelbar vergeben, da Windows den Punkt anders versteht. Sie müssen in Ihrem Texteditor die Option "Speichern unter" wählen und darauf achten, dass der Editor nicht selbständig aus diesem Namen den Dateinamen <code>.htaccess.txt</code> macht. </p> <div role="note" class="attention"><p role="heading">Achtung!</p><div>Der Webserver ist (im Vergleich mit einem fehlertoleranten Browser) sehr empfindlich in Bezug auf die Syntax und deren korrekte Schreibweise. Der kleinste Fehler führt in der Regel zu einem <a href="/wiki/HTTP/Statuscodes#500" title="HTTP/Statuscodes">Server Error 500</a>. <ul><li> Speichern Sie vor Ihren ersten Schritten ein Backup der bestehenden <b>.htaccess-Datei</b>. So können Sie mit der Originaldatei jederzeit den ursprünglichen Zustand wieder herstellen.</li> <li> Testen Sie nach jeder Änderung an der .htaccess Datei, ob die Webseite noch aufgerufen werden kann, da diese Fehler nicht protokolliert werden.</li></ul> </div></div> <p>.htaccess-Dateien gelten stets für das Verzeichnis, in dem sie abgespeichert werden, sowie für alle Unterverzeichnisse davon und für deren Unterverzeichnisse. Wenn Sie in einem der Unterverzeichnisse andere Regelungen wünschen, müssen Sie dort wiederum eine .htaccess-Datei ablegen. Die Angaben der jeweils aktuellen Datei überschreiben die Angaben von .htaccess-Dateien aus darüberliegenden Verzeichnissen. </p> <div role="note"><strong>Empfehlung:</strong> Denken Sie aber daran, dass es in jedem Verzeichnis nur eine einzige .htaccess-Datei geben kann, in der Sie alles das notieren müssen, was Sie konfigurieren wollen. Zur Strukturierung und damit besseren Lesbarkeit für Sie empfiehlt sich der sparsame Einsatz einiger weniger Kommentarzeilen.</div> <h2><span class="mw-headline" id=".htaccess_freischalten">.htaccess freischalten</span></h2> <p>Um .htaccess-Dateien einsetzen zu können, müssen diese erst in der <code><a href="/wiki/Webserver/Apache#Die_Konfigurationsdatei_httpd.conf" title="Webserver/Apache">httpd.conf</a></code>-Konfigurations-Datei aktiviert oder erlaubt werden. Setzen Sie sich bitte mit Ihrem Provider bzw. Webmaster in Verbindung – oder wenn Sie einen <a href="/wiki/Webserver/lokal_einrichten" title="Webserver/lokal einrichten">lokal installierten Apache</a> nutzen, ändern Sie die <code><a href="/wiki/Webserver/Apache#Die_Konfigurationsdatei_httpd.conf" title="Webserver/Apache">httpd.conf</a></code>. </p> <h3><span class="mw-headline" id="AllowOverride">AllowOverride</span></h3> <p>Das Kommando der (als Beispiel verwendeten) Apache-Konfiguration, welches den Funktionsumfang einer .htaccess-Datei regelt, heißt <code>AllowOverride</code>. Hierbei kann der Webmaster eine beliebige Teilmenge der folgenden Schlüsselworte angeben. Jedes Schlüsselwort schaltet die gesamte Gruppe an Rechten für die Verwendung in .htaccess-Dateien frei. </p><p>Da das Kommando zur Definition der Rechte eines URL-Baums gehört, kann man in verschiedenen URL-Bäumen problemlos unterschiedlich viele .htaccess-Rechte für seine Anwender freischalten. </p><p><b>AuthConfig</b> </p> <ul><li> Definition einer Berechtigungsstruktur, wie im Artikel beschrieben (Definition von Realms, Benutzer- und Passwortdateien sowie Anforderungen für die Authentifizierung). Bewirkt erst zusammen mit Limit die gewünschten Mechanismen.</li></ul> <p><b>FileInfo</b> </p> <ul><li> Eigene Definition von MIME-Typen und deren Abbildungen auf Datei-Endungen,</li> <li> bedingte Verwendung sprachspezifischer Varianten von HTML-Dokumenten,</li> <li> Definition von Dokumenten als Reaktion auf http-Fehlercodes.</li> <li> Natürlich wäre CGI-Fähigkeit gerade im Zusammenhang mit der Definition von Fehlerdokumenten schön, weil man dann über eine CGI-Anwendung die entsprechenden Zugriffe protokollieren lassen könnte ... aber statt dessen kann der Provider dem Anwender auch einen Auszug aus den zentralen Log-Dateien anbieten, was ihm die Vergabe des (gefährlichen) CGI-Rechtes erspart.</li></ul> <p><b>Indexes</b> </p> <ul><li> Feineinstellung für intelligentes directory browsing, falls solches erlaubt ist:</li> <li> selbst definierbare Icons für Dateitypen</li> <li> eigene Beschreibungstexte für MIME-Typen</li> <li> Definition des Namens der Indexdatei (index.html etc.)</li> <li> automatische Kopf- und Fußzeilen-Includedateien für directory-browsing</li> <li> Liste von nicht anzuzeigenden Dateien (regular expressions!)</li></ul> <p>Mit geeigneten Einstellungen kann man ganz ohne eigene HTML-Dokumente eine halbwegs komfortable Navigationsfunktion allein über die directory-browsing-Funktion des Webservers organisieren, die dennoch individuell aussieht. </p><p><b>Limit </b> </p> <ul><li> Limit alleine ohne AuthConfig erlaubt die Zugangsbeschränkung auf Verzeichnisse nur anhand von durch den Webmaster vordefinierten Rechtestrukturen, nicht aber z. B. die Definition eigener Benutzerkennungen.</li></ul> <p><b>Options</b> </p> <ul><li> <code>XBitHack</code> – damit kann man eine Art selbstprogrammierbarer Variante von <a href="/wiki/SSI" title="SSI" class="mw-redirect">SSI</a> erzeugen</li> <li> <code>Options</code> – damit kann man Optionen für das Verhalten des Verzeichnisses setzen, und zwar:</li> <li> <code>Indexes</code> – erlaubt die Verwendung oder Abschaltung von <i>directory browsing</i> (ansonsten gilt einfach die zentrale Voreinstellung des Servers).</li> <li> <code>ExecCGI</code> – erlaubt die Definition eigener CGI-Verzeichnisse.</li> <li> <code>Includes</code> – erlaubt die Verwendung oder Abschaltung von Server Side Includes im vollen Umfang (inklusive ExecCGI!).</li> <li> <code>IncludesNoCGI</code> - erlaubt die Verwendung oder Abschaltung von Server Side Includes im beschränktem Umfang (ohne ExecCGI!).</li> <li> <a href="/wiki/Webserver/htaccess/alternative_Inhalte" title="Webserver/htaccess/alternative Inhalte"><code>MultiViews</code></a> – erlaubt die Verwendung oder Abschaltung von dynamischen sprachabhängigen Dokumenten.</li> <li> <code>SymLinks</code> – erlaubt die Verwendung von symbolic links als Verweise auf Dokumente in anderen Verzeichnissen. Elegant, falls man auf Objekte zeigen will, die außerhalb des URL-Baums liegen (z. B. Protokolldateien des Webservers), unterläuft aber damit ggf. bewusst das Verbergen solcher Objekte durch eben diesen URL-Baum.</li> <li> <code>SymLinksIfOwnerMatch</code> – eingeschränkte Version, erlaubt nur den Verweis auf Objekte derselben Benutzerkennung. Das hier ist die Einstellung, bei welcher der Webmaster wirklich aufpassen muss und besser erst mal nur die entsprechenden Rechte in seiner zentralen Konfiguration definieren sollte (IncludesNoCGI für sich genommen ist ungefährlich und sehr nützlich!).</li></ul> <p>Im einzelnen gibt es dafür folgende mögliche Werte: </p> <ul><li> <code>AllowOverride None</code> weist Webserver an, .htaccess-Dateien zu ignorieren. Das ist im Übrigen die Voreinstellung.</li> <li> <code>AllowOverride All</code> legt fest, dass in einer .htaccess-Datei (so gut wie) sämtliche zentrale Vorgaben überschrieben und damit abgeändert werden dürfen. Das kann bedeuten, dass Vorhaben, die eigentlich verboten sind (beispielsweise die Ausführung von CGI-Scripts), mit Hilfe einer .htaccess-Datei erlaubt werden. Als Server-Administrator werden Sie diese Anweisung also nur sehr vorsichtig einsetzen.</li> <li> <code>AllowOverride Options</code> legt fest, dass in einer .htaccess-Datei <a href="#...2Ferzeichnis-Optionen_einstellen">Anweisungen zur Steuerung spezieller Verzeichniseigenschaften</a> zulässig sind.</li> <li> <code>AllowOverride Limit</code> legt fest, dass in einer .htaccess-Datei <a href="/wiki/Webserver/htaccess/Zugriffskontrolle" title="Webserver/htaccess/Zugriffskontrolle">Zugriffe von bestimmten Hosts erlaubt oder untersagt werden können</a>.</li> <li> <code>AllowOverride Indexes</code> legt fest, dass in einer .htaccess-Datei <a href="#Verzeichnis-Browsing_einstellen">Anweisungen zur Steuerung von Verzeichnisindizes</a> zulässig sind.</li> <li> <code>AllowOverride FileInfo</code> legt fest, dass in einer .htaccess-Datei Anweisungen zur Akzeptanz bestimmter Dokumenttypen zulässig sind - beispielsweie, um <a href="/wiki/Webserver/htaccess/Fehlermeldungen" title="Webserver/htaccess/Fehlermeldungen">Individuelle Fehlermeldungen</a> ausgeben zu können.</li> <li> <code>AllowOverride AuthConfig</code> legt fest, dass in einer .htaccess-Datei Autorisierungsanweisungen stehen dürfen - das betrifft beispielsweise Regelungen zum <a href="/wiki/Passwortschutz" title="Passwortschutz" class="mw-redirect">Passwortschutz</a>.</li></ul> <p><br /> Diese Werte können auch miteinander kombiniert werden. <code>All</code> ist der mächtigste Parameter, mit dem alles das zugelassen wird, was die anderen Parameter steuern. </p><p>Wenn man einem Benutzer erlaubt, diese Optionen selbst zu setzen, dann kann dieser alles aus dieser Liste selbst einstellen! Das ist sehr schade, denn es verhindert auch die Freigabe der ungefährlichen Rechte an alle Benutzer (etwa die Entscheidung, ob man <i>directory browsing</i> will oder nicht) und zwingt den Webmaster dazu, dies in seiner zentralen Konfiguration ggf. für verschiedene Benutzer selbst unterschiedlich zu definieren. </p><p><br /> </p> <h3><span class="mw-headline" id="Erlaubte_Anweisungen_in_.htaccess-Dateien">Erlaubte Anweisungen in .htaccess-Dateien</span></h3> <p>Sie können in einer .htaccess-Datei genau dieselben Anweisungen notieren, die in der zentralen Konfigurationsdatei Verwendung finden – mit nur wenigen Ausnahmen. Beispielsweise dürfen Sie keine zusätzlichen Module laden, den Servernamen nicht ändern und keinen zusätzlichen Speicherplatz (DocumentRoot) anfordern. Auch <code><Directory ...></code>-Container sind generell in so einer dezentralen Konfigurationsdatei ebensowenig zulässig wie Festlegungen für neue virtuelle Hosts. </p><p><br /> </p><p>Trotz dieser prinzipiell vielfältigen Möglichkeiten kann es aber teilweise drastische Einschränkungen geben. Welche Anweisungen Ihnen tatsächlich zur Verfügung stehen, hängt davon ab, wie weitgehend die Rechte sind, die Ihnen der Server-Administrator mit Hilfe der Anweisung AllowOverride in der zentralen Konfigurationsdatei einräumt. </p> <div role="note" class="attn"><strong>Beachten Sie:</strong> Die Anweisung AllowOverride kann nicht innerhalb einer .htaccess notiert werden, sondern wird ausschließlich vom Server-Administrator in der zentralen Konfigurationsdatei vorgegeben. Um den AllowOverride-Wert in Erfahrung zu bringen, benötigen Sie Einsicht in die Serverkonfiguration. Kontaktieren Sie dazu gegebenenfalls Ihren Webhosting-Provider. Dieser kann den Wert auch ändern, falls Sie bestimmte bisher nicht erlaubte Anweisungen verwenden möchten.</div> <p><br /> </p> <ul role="navigation" class="continuation"> <li class="prev-cont"></li> <li class="main-cont"><strong class="selflink">Einstieg in .htaccess<br />(Übersicht)</strong></li> <li class="next-cont"><a href="/wiki/Webserver/htaccess/Umleitungen_mit_mod_rewrite" title="Webserver/htaccess/Umleitungen mit mod rewrite">Umleitungen<br />mit mod rewrite</a></li> </ul> <p><br /> </p> <h2><span class="mw-headline" id="Weblinks">Weblinks</span></h2> <ul><li> <a rel="nofollow" class="external text" href="https://www.askapache.com/htaccess/">Ultimate .htaccess</a> – kein Einsteiger-Tutorial, sondern eine umfassende Dokumentation</li> <li> makeawebsitehub.com: <a rel="nofollow" class="external text" href="https://makeawebsitehub.com/htaccess-generator/">.htaccess generator</a> – htpasswd und htaccess generator</li></ul> <!-- NewPP limit report Cached time: 20240614000021 Cache expiry: 86400 Dynamic content: false [SMW] In‐text annotation parser time: 0.001 seconds CPU time usage: 0.058 seconds Real time usage: 0.061 seconds Preprocessor visited node count: 144/1000000 Preprocessor generated node count: 753/1000000 Post‐expand include size: 4727/2097152 bytes Template argument size: 3272/2097152 bytes Highest expansion depth: 5/40 Expensive parser function count: 0/100 ExtLoops count: 0/100 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 11.212 1 - -total 19.24% 2.157 1 - Vorlage:NSpalten 16.20% 1.816 1 - Vorlage:Text-Info 14.35% 1.609 1 - Vorlage:Fortsetzung 11.66% 1.307 1 - Vorlage:Kategorie 11.23% 1.259 2 - Vorlage:Empfehlung 11.17% 1.252 1 - Vorlage:Beachten 8.68% 0.973 1 - Vorlage:Achtung --> <!-- Saved in parser cache with key webwiki:pcache:idhash:4128-0!*!0!!de-formal!5!* and timestamp 20240614000021 and revision id 94505 --> </div> <div class="printfooter"> Abgerufen von „<a dir="ltr" href="http://wiki.selfhtml.org/index.php?title=Webserver/htaccess&oldid=94505">http://wiki.selfhtml.org/index.php?title=Webserver/htaccess&oldid=94505</a>“ </div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Spezial:Kategorien" title="Spezial:Kategorien">Kategorien</a>: <ul><li><a href="/wiki/Kategorie:Webserver" title="Kategorie:Webserver">Webserver</a></li><li><a href="/wiki/Kategorie:Artikel" title="Kategorie:Artikel">Artikel</a></li></ul></div></div> <div class="visualClear"></div> </div> </div> <div id="mw-navigation"> <h2>Navigationsmenü</h2> <div id="mw-head"> <div id="p-personal" role="navigation" class="" aria-labelledby="p-personal-label"> <h3 id="p-personal-label">Meine Werkzeuge</h3> <ul> <li id="pt-createaccount"><a href="/index.php?title=Spezial:Benutzerkonto_anlegen&returnto=Webserver%2Fhtaccess" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich.">Benutzerkonto erstellen</a></li><li id="pt-login"><a href="/index.php?title=Spezial:Anmelden&returnto=Webserver%2Fhtaccess" title="Sich anzumelden wird gerne gesehen, ist jedoch nicht zwingend erforderlich. [o]" accesskey="o">Anmelden</a></li> </ul> </div> <div id="left-navigation"> <div id="p-namespaces" role="navigation" class="vectorTabs" aria-labelledby="p-namespaces-label"> <h3 id="p-namespaces-label">Namensräume</h3> <ul> <li id="ca-nstab-main" class="selected"><span><a href="/wiki/Webserver/htaccess" title="Seiteninhalt anzeigen [c]" accesskey="c">Seite</a></span></li> <li id="ca-talk" class="new"><span><a href="/index.php?title=Diskussion:Webserver/htaccess&action=edit&redlink=1" title="Diskussion zum Seiteninhalt [t]" accesskey="t" rel="discussion">Diskussion</a></span></li> </ul> </div> <div id="p-variants" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-variants-label"> <h3 id="p-variants-label"> <span>Varianten</span><a href="#"></a> </h3> <div class="menu"> <ul> </ul> </div> </div> </div> <div id="right-navigation"> <div id="p-views" role="navigation" class="vectorTabs" aria-labelledby="p-views-label"> <h3 id="p-views-label">Ansichten</h3> <ul> <li id="ca-view" class="selected"><span><a href="/wiki/Webserver/htaccess" >Lesen</a></span></li> <li id="ca-viewsource"><span><a href="/index.php?title=Webserver/htaccess&action=edit" title="Diese Seite ist geschützt. Ihr Quelltext kann dennoch angesehen und kopiert werden. [e]" accesskey="e">Quelltext anzeigen</a></span></li> <li id="ca-history" class="collapsible"><span><a href="/index.php?title=Webserver/htaccess&action=history" title="Frühere Versionen dieser Seite [h]" accesskey="h">Versionsgeschichte</a></span></li> </ul> </div> <div id="p-cactions" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-cactions-label"> <h3 id="p-cactions-label"><span>Mehr</span><a href="#"></a></h3> <div class="menu"> <ul> </ul> </div> </div> <div id="p-search" role="search"> <h3> <label for="searchInput">Suche</label> </h3> <form action="/index.php" id="searchform"> <div id="simpleSearch"> <input type="search" name="search" placeholder="Suchen" title="SELFHTML-Wiki durchsuchen [f]" accesskey="f" id="searchInput"/><input type="hidden" value="Spezial:Suche" name="title"/><input type="submit" name="fulltext" value="Suchen" title="Suche nach Seiten, die diesen Text enthalten" id="mw-searchButton" class="searchButton mw-fallbackSearchButton"/><input type="submit" name="go" value="Seite" title="Gehe direkt zu der Seite mit genau diesem Namen, falls sie vorhanden ist." id="searchButton" class="searchButton"/> </div> </form> </div> </div> </div> <div id="mw-panel"> <div id="p-logo" role="banner"><a class="mw-wiki-logo" href="/wiki/SELFHTML" title="Startseite"></a></div> <div class="portal" role="navigation" id='p-Starten' aria-labelledby='p-Starten-label'> <h3 id='p-Starten-label'>Starten</h3> <div class="body"> <ul> <li id="n-Wie-fange-ich-an.3F"><a href="/wiki/Wie_fange_ich_an%3F">Wie fange ich an?</a></li><li id="n-HTML"><a href="/wiki/HTML">HTML</a></li><li id="n-CSS"><a href="/wiki/CSS">CSS</a></li><li id="n-JavaScript"><a href="/wiki/JavaScript">JavaScript</a></li><li id="n-SVG"><a href="/wiki/SVG">SVG</a></li> </ul> </div> </div> <div class="portal" role="navigation" id='p-Mitmachen' aria-labelledby='p-Mitmachen-label'> <h3 id='p-Mitmachen-label'>Mitmachen</h3> <div class="body"> <ul> <li id="n-Hilfe"><a href="/wiki/Hilfe">Hilfe</a></li><li id="n-Offline-Wiki"><a href="/wiki/SELFHTML/Offline-Wiki">Offline-Wiki</a></li><li id="n-Spenden"><a href="/wiki/SELFHTML:Verein/Spenden">Spenden</a></li><li id="n-recentchanges"><a href="/wiki/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in diesem Wiki [r]" accesskey="r">Letzte Änderungen</a></li> </ul> </div> </div> <div class="portal" role="navigation" id='p-tb' aria-labelledby='p-tb-label'> <h3 id='p-tb-label'>Werkzeuge</h3> <div class="body"> <ul> <li id="t-whatlinkshere"><a href="/wiki/Spezial:Linkliste/Webserver/htaccess" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j">Links auf diese Seite</a></li><li id="t-recentchangeslinked"><a href="/wiki/Spezial:%C3%84nderungen_an_verlinkten_Seiten/Webserver/htaccess" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k">Änderungen an verlinkten Seiten</a></li><li id="t-specialpages"><a href="/wiki/Spezial:Spezialseiten" title="Liste aller Spezialseiten [q]" accesskey="q">Spezialseiten</a></li><li id="t-print"><a href="/index.php?title=Webserver/htaccess&printable=yes" rel="alternate" title="Druckansicht dieser Seite [p]" accesskey="p">Druckversion</a></li><li id="t-permalink"><a href="/index.php?title=Webserver/htaccess&oldid=94505" title="Dauerhafter Link zu dieser Seitenversion">Permanenter Link</a></li><li id="t-info"><a href="/index.php?title=Webserver/htaccess&action=info" title="Weitere Informationen über diese Seite">Seiteninformationen</a></li> </ul> </div> </div> <div class="portal" role="navigation" id='p-SELFHTML' aria-labelledby='p-SELFHTML-label'> <h3 id='p-SELFHTML-label'>SELFHTML</h3> <div class="body"> <ul> <li id="n-SELFHTML"><a href="/wiki/SELFHTML">SELFHTML</a></li><li id="n-Forum"><a href="https://forum.selfhtml.org/" rel="nofollow">Forum</a></li><li id="n-Blog"><a href="https://blog.selfhtml.org/" rel="nofollow">Blog</a></li><li id="n-Verein"><a href="/wiki/SELFHTML:Verein">Verein</a></li> </ul> </div> </div> </div> </div> <div id="footer" role="contentinfo"> <ul id="footer-info"> <li id="footer-info-lastmod"> Diese Seite wurde zuletzt am 6. Januar 2024 um 09:02 Uhr geändert.</li> <li id="footer-info-copyright"><div id="selfhtml-sponsor"> <h2>Unterstützt durch</h2> <ul> <li><a href="https://www.manitu.de/webhosting"><img src="/images/f/f7/Manitu.svg" alt="Manitu - Menschlich. Einfach besser."></a></li> <li><a href="https://termitel.de/"><img src="/images/b/b4/Termitel.svg" alt="Customer Care & Sales"></a> </ul> </div> <p>Die Inhalte des SELFHTML-Wikis unterliegen der <a class="external" rel="nofollow" href="http://creativecommons.org/licenses/by-sa/3.0/de/">CC-BY-SA 3.0 (de)</a>.<br/> Nähere Informationen finden Sie unter <a href="/wiki/SELFHTML/Lizenzvereinbarungen">SELFHTML/Lizenzvereinbarungen</a>.</p></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="/wiki/SELFHTML/Datenschutz" title="SELFHTML/Datenschutz">Datenschutz</a></li> <li id="footer-places-about"><a href="/wiki/SELFHTML" title="SELFHTML">Über SELFHTML-Wiki</a></li> <li id="footer-places-disclaimer"><a href="/wiki/SELFHTML/Impressum" title="SELFHTML/Impressum">Impressum</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"> <a href="http://creativecommons.org/licenses/by-sa/3.0/de/"><img src="/resources/assets/licenses/cc-by-sa.png" alt="CC-BY-SA 3.0 (de)" width="88" height="31"/></a> </li> <li id="footer-poweredbyico"> <a href="//www.mediawiki.org/"><img src="/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31"/></a> </li> </ul> <div style="clear:both"></div> </div> <script>(window.RLQ=window.RLQ||[]).push(function(){mw.loader.state({"user":"ready","user.groups":"ready"});mw.loader.load(["mediawiki.toc","mediawiki.action.view.postEdit","site","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest","skins.selfhtml.js"]);});</script><script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":228});});</script> </body> <!-- Cached 20240614000021 --> </html>