Apache Server:
.htaccess
Einen dezidierten Server zu betreiben ist aufwändig und gar nicht immer nötig, oft tut es ein shared hosting völlig. Jedoch möchte man ganz gerne hin und wieder ein paar Server-Einstellungen überschreiben; dazu gibt es Direktiven. Die Direktiven werden in .htaccess Dateien geschrieben und gelten für den gesammten Ordner (inklusive dessen Unterordnern), in dem die .htaccess gespeichert ist.
.htaccess statt php.ini
Durch .ht-Dateien kann der Server umkonfiguriert werden.
Den Server konfiguriert man, falls vom Provider erlaubt, in der php.ini Datei.
Falls nicht, kann ich diese durch eine htaccess-Datei überstimmen:
Eine Textdatei wie ich sie mit dem Editor erstellen kann wird '.htaccess' benannt.
Ein Kommentar, gekennzeichnet durch ein Gatter, erlaubt mir, erst mal zu beschreiben, was dann folgt:
# htaccess für den Ordner 'lehrling'
# Register Globals OFF
php_flag register_globals off
Und schon entstehen aus übertragenen Formularfeldern bzw. deren Namen
nicht mehr automatisch Variablen.
Zur Einführung über Server, Hosting und Profider
Antwort-Header
Der Server sendet auf die Anfrage eines Browser eine Antwort, in deren Header steht folgendes:
Date: Fri, 03 Dec 2010 00:17:04 GMT
Server: Apache/2.2.16 (FreeBSD) mod_hcgi/0.8.0 mod_ssl/2.2.16 OpenSSL/1.0.0a DAV/2
X-Powered-By: PHP/5.3.3
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
200 OK
Das Meisste versteht sich von selbst. Als erstes das Datum und die Zeit, zweitens Server Namen, Version und Modi, und als drittes die PHP-Version.
Die Statuscodes
Der 3-stellige Zahlen-Code am Ende ist interessant,
er meldet den Status oder einen Fehler. Im obigen Fall sendet er '200 OK', das ist gut.
Es gibt noch weitere Statuscodes, deren Bedeutung ich folgend aufliste:
- 1xx informativ (Protokollwechsel, braucht keine Meldung)
- 2xx erfolgreich (alles OK, braucht keine Meldung)
- 3xx Weiterleitungen (braucht auch keine Meldung)
- 4xx Client-Fehler:
- 400 Bad request
- 401 Unauthorized (Abbruch Passworteingabe)
- 403 Forbidden (Verzeichnis wurde aufgerufen, das keine index-Datei enthält)
- 404 Not Found (Link ist falsch)
- 410 Gone (Die Seite befindet sich woanders)
- 5xx Server-Fehler:
- 500 Die Schreibberechtigung ist per CHMOD höher erteilt als es die ini-Datei des Servers erlaubt,
oder ein Pear-Modul ist überlastet (z.B. Bildbearbeitung wärend dem Hochladen einer zu grossen Bilddatei).
Vielleicht ist der Inhalt der .htaccess-Datei selber fehlerhaft,
oder eine Scriptdatei wurde binär statt im ASCII-Modus übertragen.
- 500 Die Schreibberechtigung ist per CHMOD höher erteilt als es die ini-Datei des Servers erlaubt,
Darauf kann nun der Browser reagieren, bei einem Fehlercode zeigt er eine hässliche Seite mit der Fehlermeldung, welche niemanden weiter bringt. Statt dessen kann ich ihm auch sagen, er solle meine eigenen Fehlerseiten (mit nützlichen Links) anzeigen.
>> Mehr zum Apache Server version 2.2