+49 (0) 2921 559 75 93 hallo@aeosys.de

Ein .htaccess Leitfaden für Anfänger, Designer und Entwickler

von | 16.03.2019 | Hilfe, Webdesign

Ist Bootstrap tot?

Unter den vielen verschiedenen Tools in Bezug auf die Anpassung Ihres Webservers ist die Konfigurationsdatei .htaccess von enormer Bedeutung.

Sie können Dokumenttypen, Parsing-Engines, URL-Umleitungen und viele andere wichtige Funktionen schnell und unkompliziert ändern. Webmaster, die keine sehr technische Erfahrung haben, werden möglicherweise nicht in die Besonderheiten der Verwaltung Ihrer eigenen .htaccess-Datei einbezogen. Aber das Thema selbst ist faszinierend und eine Untersuchung wert.

Für diesen Artikel möchte ich eine Auswahl der zweckmäßigsten Lösungen für Webmaster und Webentwickler vorstellen. Jeder, der seine eigene Website auf einem Apache-Server startet, wird definitiv verstehen wollen, wie er seine.htaccess-Datei verwaltet. Es bietet so viel Anpassungsfähigkeit und kann in allen Websprachen von PHP bis Rubin angewendet werden.

Am Ende dieses Beitrags habe ich einige externe Webapps hinzugefügt, um Neueinsteigern zu helfen, ihre .htaccess-Dateien dynamisch zu generieren.

 

Warum eine .htaccess-Datei verwenden?

Das ist eine spannende Frage und vielleicht sollten wir damit beginnen, „Was ist eine .htaccess-Datei“ zu beantworten? Es ist eine spezielle Konfigurationsdatei, die vom Apache-Webserver verwendet wird. Eine .htaccess-Datei kann dem Webserver mitteilen, wie er verschiedene Informationen präsentieren und wie er mit verschiedenen HTTP-Request-Headern umgehen soll.

Tatsächlich ist es ein Mittel der Dezentralisierung, um Webserver-Einstellungen zu organisieren. Ein physischer Server kann 50 verschiedene Websites mit jeweils einer eigenen .htaccess-Datei auffassen. Sie verschafft den Webmastern viele Möglichkeiten, die sonst unmöglich wären. Aber warum sollten Sie eine verwenden?

Der wichtigste Grund ist die Sicherheit. Sie können bestimmte Verzeichnisse sperren oder mit einem Passwort schützen. Dies ist ideal für private Projekte oder die Entwicklung neuer Content Management Systeme, bei denen Sie ein wenig mehr Sicherheit wünschen. Aber es gibt auch allgemeine Aufgaben wie das Umleiten von 404 Fehlermeldungen zu einer bestimmten Webseite. Dies erfordert nur eine einzige Zeile Code und kann die Interaktion der Besucher mit fehlenden Seiten erheblich beeinflussen.

Um ehrlich zu sein, gibt es nicht viel, was ich sagen könnte, um andere davon zu überzeugen, dass eine .htaccess-Datei es wert ist, verstanden zu werden. Wenn Sie es in der Praxis sehen, dann können Sie alle Vorteile erkennen, die sich aus dieser kleinen Konfigurationsdatei ergeben. Auch ich hoffe, dass der Rest dieses Artikels einige aufschlussreiche Aspekte vorstellen kann, um Webmaster in das Konzept der Verwaltung einer .htaccess-Konfiguration einzuführen.

 

Zugriff erlauben/verwehren

Es ist möglich, potenzielle Spammer zu erkennen und ihnen den Zugriff auf Ihre Website zu verweigern. Dies kann ein wenig übertrieben sein, aber mit dem Wissen, dass eine Person oder eine Gruppe von Personen Ihre Website im Visier hat, gibt es einige Optionen zur Auswahl. Sie können einen Domain-Weiterleitung nutzen, um Besucher über eine IP-Adresse zu sperren oder zu bannen.

Dieser Beispielcode wurden aus dem Htaccess Guide kopiert, da sie die perfekte Vorlage für den Einstieg sind. Beachten Sie, bei der zweiten IP-Adresse fehlt die vierte Ganzzahl. Dieser Codeblock richtet sich an die erste IP(255.0.0.0.0.0) und jede IP im Bereich von 123.45.6.0-255 und erlaubt dann den gesamten übrigen Traffic. Webmaster sollten diese nicht so häufig wie andere Techniken verwenden, jedoch ist es hilfreich diese zu verstehen.

 

Verzeichnisauflistung verhindern

Es kann vorkommen, dass Sie ein offenes Verzeichnis haben, das so eingerichtet ist, dass es das Stöbern ermöglicht. Dadurch können Benutzer alle Dateien innerhalb einer internen Verzeichnisstruktur sehen, wie beispielsweise Ihren Bilderordner. In manchen Fällen wollen Webmaster keine Verzeichnisauflistung zulassen, und zum Glück ist der Code-Ausschnitt ziemlich einfach zu merken.

Ich habe diese Antwort unzählige Male im gesamten Stack Overflow gesehen und es ist wahrscheinlich eine der einfachsten .htaccess-Regeln, die man sich merken sollte.

Es ist möglich, mehrere .htaccess-Dateien in jedem dieser Verzeichnisse zu erstellen, so dass eines davon mit einem Kennwort geschützt ist, während die anderen es nicht sind. Und Sie können immer noch die Einstellungen beibehalten, so dass Besucher nicht durch Ihre Seite /Bilder/ Ordner blättern können.

 

Passwortschutz

Der Passwortschutz für Ihre Verzeichnisse ist ein gängiges Verfahren zur Sicherung von Verwaltungsbereichen und anderen Ordnern, die für Ihre Website von zentraler Bedeutung sind. Manchmal werden Sie nur einer begrenzten Gruppe von Personen Zugang ermöglichen wollen. Andernfalls sollen Passwörter verhindern, dass Hacker Zugang zu Ihrem Website-Verwaltungsbereich erhalten. So oder so ist es eine sehr effektive Lösung für eine ganze Reihe von Problemen.

Es gibt eine praktische Anleitung zum Passwortschutz, in der die wichtigsten Codeausschnitte beschrieben werden. Sie benötigen eine Passwortdatei, in der die Zugangsdaten für Benutzernamen und Passwörter gespeichert sind. Auf diese Weise kann der Apache anhand der Benutzereingaben prüfen, ob ihm Zugriff gewährt werden soll. Achten Sie darauf, wie Sie das Muster für Ihren Benutzernamen und Ihr Passwort anlegen müssen.

Ich empfehle die Verwendung dieses htpassword Generators, so dass Sie etwas Zeit sparen können. Die Syntax wird immer einwandfrei ausgegeben und Sie müssen das Passwort nicht selber verschlüsseln. Eine weitere gute Option ist der Passwortschutz für eine ganze Verzeichnisliste. Das Beispiel finden wir in der CSS-Tricks Code Snippets Galerie.

Sicherheit für WordPress

Zur Verdeutlichung dieser Idee des Kennwortschutzes lassen Sie uns ein Beispiel aus der Praxis anbringen. Dieses komplexere Codeausschnitt bewirkt eine Benutzerauthentifizierung für jeden, der auf die WordPress-Datei wp-login.php zugreift. Die Originalquelle finden Sie auf Ask Apache, das über zahlreiche andere Schutz-Schnipsel von WordPress verfügt.

Wenn Sie diese .htaccess-Regeln befolgen, kann es auch hilfreich sein, den Admin-Bereich mit einem Passwort zu schützen. Gewöhnlich wird die Datei wp-login.php die meisten Zugriffe auf das System erhalten, wenn jemand versucht, sich den Weg in Ihr System zu bahnen. So sind selbst die obigen Beispielcodes mehr als genug zusätzliche Sicherheit für Ihre WordPress Website.

 

HTTP URL Rewrite-Regeln

Das Überarbeiten von URLs ist wahrscheinlich eine der häufigsten Verwendungsarten für .htaccess-Dateien. WordPress Standardinstallationen können eine .htaccess-Datei direkt aus dem Administrationsbereich erzeugen. Dadurch können Sie attraktive URLs anlegen, deren Struktur nicht die Form .php?p=1 trägt.

In diesem Beispiel möchte ich einen Blick darauf werfen, wie man Unterstriche zu Bindestrichen überarbeitet, denn es beinhaltet eine Reihe von wichtigen Elementen.

RewriteEngine und RewriteBase können meist genau auf diese Werte konfiguriert werden. Aber Sie müssen die RewriteEngine einschalten, damit alles andere funktioniert. Es gibt viele Anleitungen online, die erklären, wie man mod_rewrite aktiviert und Ihr Hosting-Provider kann Ihnen auch helfen.

Man beachte, dass die Syntax oben einem Muster von RewriteRules folgt. Mit diesen Regeln werden Fälle abgeglichen, die als HTTP-Request gesendet werden. Hierauf antwortet eine RewriteRule, welche in diesem Fall alles auf die Domain d.com umleitet. Die Endklammern wie[R=301,L] heißen Rewrite-Flags, die zwar wichtig, aber mehr ein fortgeschrittenes Thema aufgreifen.

Die mod_rewrite Syntax ist definitiv ein wenig verwirrend, aber lassen Sie sich nicht einschüchtern! Die Schnipsel werden in anderen Anwendungsbeispielen viel einfacher ausfallen.

Für Einsteiger empfehle ich diese mod_rewrite Webapp, die Ihnen hilft, Codebeispiele mit echten URLs zu generieren. Dieses Tool ist brillant, denn Sie können verschiedene Elemente in der Syntax nachschlagen, die zeigen, was sie in den Rewrite-Regeln tatsächlich tun. Nachfolgend eine weitere großartige Übung:

Überfrachten Sie sich nicht zu sehr mit den ganzen Inhalten auf einmal. Es dauerte weit über 3-4 Monate, bis ich wirklich angefangen habe zu verstehen, wie man URLs mit[0-9a-zA-Z]+ und ähnlichen Mustern umschreibt.

 

Schnipsel für Webmaster

Die benutzerfreundlichen Schnipsel gefallen mir besonders gut und ich möchte diese kleine Sammlung von relevanten .htaccess-Codes für Webmaster zusammentragen. So kann jede dieser Ideen zusammen mit anderen Codeblöcken gut in Ihre eigene .htaccess-Datei eingebunden werden. Die meisten dieser Schnipsel sind ideal, um  Probleme in Ihrer Webserver-Umgebung schnell zu lösen. Stellen Sie sich ein ideales Apache-Setup für angehende Webmaster vor.

 

DirectoryIndex setzen

Der Befehl für DirectoryIndex wird häufig in einer einzelnen Zeile verwendet. Sie können dem Apache mitteilen, welche Dokumente zunächst als „Hauptdokument“ behandelt werden sollen. Standardmäßig werden damit Elemente wie index.html, index.php, index.asp und andere Indexdateien angesprochen.

Die Reihenfolge der Dokumente sollte mit den wichtigsten beginnen und sich durch die Ränge zu den unwichtigsten bewegen. Wenn wir also keine HTML- oder CGI-Datei haben, dann geht der Fallback zu index.php. Und Sie könnten diese Dateien sogar home.php oder someotherfile.php nennen das ist alles eine gültige Syntax.

 

Erzwingen von WWW- oder Nicht-WWW-Subdomains

Google kann mit allen Versionen Ihrer Website-Domain arbeiten, sofern Sie nicht www.domain.com oder nur domain.com angeben. Meiner Erfahrung nach ist es empfehlenswert, eine davon zu wählen und sie über .htaccess zur alleinigen Wahl zu machen.

 

Downloads von Mediendateien erzwingen

Durch ein weiteres ziemlich wichtiges Beispiel können gewisse Medientypen zum Herunterladen erzwungen werden, ohne dass sie im Browser angezeigt werden. Auf Anhieb fällt mir ein, dass PDF-Dokumente und MP3-Audiodateien in einem herunterladbaren Format angeboten werden. Aber wie stellen Sie sicher, dass sie heruntergeladen werden können? Ich habe einen ähnlichen Artikel gefunden, der im Htaccess Guide veröffentlicht wurde, der diesen Code-Ausschnitt beschreibt.

Zögern Sie nicht, noch mehr Dateitypen am Ende dieser Zeile einzubinden. Alle Medienformate, die den Octet-stream-MIME-Typ verwenden, können heruntergeladen werden. Die Forcierung durch .htaccess ist ein sehr direkter Weg, um sicherzustellen, dass Personen diese Dateien nicht im Browser sehen können.

 

Benutzerdefinierte Fehlerdokumente

Ein letzter Punkt, den ich noch hinzufügen möchte, ist eine vollständige Vorlage mit benutzerdefinierten Fehlermeldungen. In der Regel sind diese Zahlencodes nur auf der Serverseite zu sehen. Aber es gibt viele dieser Fehlermeldungen, die Ihnen bekannt sein sollten. Einige Beispiele sind 403/404 Fehler und der 301 Redirect.

Diese Fehlercode-Vorlage beginnt bei 100 und geht weiter bis 500. Beachten Sie bitte, dass Sie selbstverständlich nicht alle davon benötigen. Nur die gängigsten Fehler sind erforderlich, und möglicherweise ein paar unklare Ausschnitte, falls Sie das Bedürfnis verspüren.

Wenn Sie einen Code nicht erkennen, suchen Sie ihn einfach bei Wikipedia, damit Sie ihn besser nachvollziehen können.

Abschließende Überlegungen

Im Internet gibt es unzählige Ressourcen, die .htaccess-Dateien diskutieren. Die von mir verlinkten Artikel und Webapps sind ein großartiger Einstieg. Aber üben Sie weiterhin mit Ihren Ideen und haben Sie keine Angst davor, Codeausschnitte zu testen. Solange Sie eine Backup-Datei haben, können Sie alles ausprobieren, was Ihnen gefällt, und es macht Spaß zu lernen.