.htaccess - Einführung
1. Die Abschnitte
- Einführung
- mod_rewrite Teil 1
- mod_rewrite Teil 2
- mod_rewrite Teil 3
- mod_rewrite Teil 4
- Weiterleitungen
- Aussperren Teil 1
- Aussperren Teil 2
- Zugriffsschutz Teil 1
- Zugriffsschutz Teil 2
- PHP-Einstellungen Teil 1
- PHP-Einstellungen Teil 2
- Fazit
2. Ein Hinweis vorab
Dieses Tutorial dient nur als Einstieg in die Materie, denn darüber kann man richtig dicke Bücher schreiben. Darum werde ich auch nur die Prinzipien anhand einiger einfacher Beispiele erklären. Was die Feinheiten angeht, so folgend unter dem Punkt "Fazit" noch ein paar Links mit weiterführenden Informationen.
Außerdem
... solltet ihr euch nicht hundertprozentig auf meine Erläuterungen verlassen. Und die nur nach intensivem Testen im Live-Betrieb nutzen.
Denn mit einer .htaccess
kann man ganz leicht sehr viel kaputt machen.
3. Voraussetzungen
Um eine .htaccess
-Datei nutzen zu können, muss man als Webserver den Apache sein Eigen nennen können. Wer dagegen
zum Beispiel auf den Internet Information Server von Winzigweich zugreifen muss, dem bleibt diese Welt leider verschlossen. Allerdings
kann man das sehr einfach herausfinden. Man erstellt eine PHP-Datei, die nur aus einer Anweisung besteht. Nämlich phpinfo();
.
Wenn ihr die nun aufruft und folgenden Eintrag findet, so ist alles feini feini.
Allow override
Wenn ihr über ein Testsystem verfügt (was eigentlich der Fall sein sollte), so schaut zuerst mal in die httpd.conf
. Dort muss
beim entsprechenden Webverzeichnis (zum Beipspiel <Directory "C:/xampp/htdocs">
) unter AllowOverride
ein
All
stehen. Gut man kann das viel feiner abstufen, aber darum wollen wir uns hier nicht kümmern. Außerdem habt ihr im
Normalfall darauf eh keinen Einfluss.
4. Sinn und Zweck
Bei einer .htaccess
handelt es sich um eine Textdatei, mit der man die Konfiguration einen Webservers beeinflussen kann.
Allerdings hängen die jeweiligen Möglichkeiten davon ab, was der große Obermufti/Chefadministrator gestattet (siehe oben). Wenn also einige
der folgenden Beispiele auf eurem Live-System nicht funktionieren, so bedeutet das, dass euch schlichtweg die Rechte dafür fehlen.
Und darum
... werde ich hier auch nur auf die gängigsten Möglichkeiten eingehen. Also das, was Provider im Normalfall zulassen. Wenn es dennoch bei euch Probleme gibt, so solltet ihr gegebenenfalls euren Anbieter wechseln.
5. Die .htaccess
Was jetzt kommt ist muy importante. Also bitte genau lesen. Eine .htaccess
-Datei kann man innerhalb des Webverzeichnisses
platzieren wo man will. Dabei gilt, dass die Einträge nur gültig sind für den aktuellen Ordner mit seinen Dateien und eventuell vorhandenen
Unterordnern mit deren Dateien. Wenn man also zum Beispiel eine Konfiguration für den kompletten Auftritt haben möchte, so packt man sie
in das oberste Verzeichnis des Internetauftritts.
Überschreiben
Grundsätzlich gilt die Regel, dass man die Anweisungen übergeordneter .htaccess
-Dateien in Unterordner durch eine neue
überschreiben kann.
Format
Die .htaccess
selber ist eine reine Textdatei, die man mit jedem beliebigen Editor bearbeiten kann. Und die muss tatsächlich
so heißen. Also vergesst den Punkt am Anfang nicht. Ach ja, noch ein Hinweis. Da einige Systemdateien unter UNIX-System gewöhnlich auch
mit einem Punkt beginnen, kann es durchaus sein, dass eurer Provider deren Anzeige zum Beispiel in einem FTP-Programm unterdrückt. Ist nicht
sehr schön, ist nicht sehr fein. In dem Fall müsst ihr es einfach ausprobieren.
Kommentare
... beginnen in einer .htaccess
-Datei mit dem Lattenzaun, also dem #
. Im Lösungscode werdet ihr das an der einen
oder anderen Stelle finden, wenn es mehrere Möglichkeiten für ein Problem gibt.
Anzeige
Wenn ihr bei der Konfiguration eures Apaches das DirectoryListing so eingestellt habt, dass
Verzeichnisse angezeigt werden, wundert euch nicht, wenn dort keine .htaccess
angezeigt wird. Denn Dateien, die mit einem
Punkt beginnen, gelten unter Linux oder anderen Unix-Derivaten als Systemdateien und genießen einen besonderen Schutz. In diesem Fall
sogar unter Windows.
6. Ein wichtiger Hinweis
Alle folgenden Beispiele musste ich leider mit XAMPP unter Windows(!) testen, da sich das Netzteil von meinem Linux-Server in die ewigen Jagdgründe verabschiedet hat. Und da das Gehäuse schon fast 10 Jahre auf dem Buckel hat, ist es ziemlich schwierig, ein Neues zu besorgen, das da sauber hinein passt. Wer also von euch unter Linux arbeitet, sollte mir sofort Bescheid geben, wenn etwas nicht funktioniert. Und falls möglich auch bitte gleich die Lösung mitliefern, da ich das derzeit nicht sauber testen kann.
7. Die Daten
Den Basiscode und die komplette Lösung für dieses Tutorial findet ihr rechts unter dem Punkt "Daten". Folgende Dateien müssen dabei vorhanden sein:
Dateien
-
mod_rewrite_2
(Ordner).htaccess
-
send
(Ordner)sender.php
-
empf
(Ordner)empfaenger.php
-
mod_rewrite_3
(Ordner).htaccess
index.php
-
mod_rewrite_4
(Ordner).htaccess
index.php
link.php
-
ordner
(Ordner)index.htm
-
weiterleitung
(Ordner).htaccess
weiterleitung.php
404.php
-
aussperren
(Ordner).htaccess
index.htm
-
zugriffsschutz
(Ordner).htaccess
îndex.htm
-
php_einstellungen
(Ordner).htaccess
php_einstellungen.php