strg.at
.design
.development
.server

webhosting und sicherheit
[ausgezeichnete hardware und anbindung, taegliches backup, secure file transfer]

"mit .htaccess dateien kannst du servereigenschaften fuer dein webprojekt festlegen und deinen webauftritt somit individuell gestalten"

.htaccess

  1. was ist .htaccess?
  2. wie erstelle ich eine .htaccess-datei?
  3. dateirechte
  4. passwortgeschuetzte webseiten / toolbox
  5. php-dateien die endung html geben
  6. indexdatei bestimmen
  7. eigene fehlerseiten verwenden
  8. umleitungen

1. was ist .htaccess?

.htaccess sind konfigurationsdateien, die du in deinen verzeichnissen am strg.at-server ablegen kannst. .htaccess enthalten anweisungen an den server, die fuer deine verzeichnisse und seiten gelten und ermoeglichen dir, deinen webauftritt individuell zu gestalten.
willst du etwa eigene 404-fehlerseiten fuer deine seiten verwenden oder bestimmte bereiche mit einem passwortschutz versehen, dann kannst du das mit einer .htaccess datei erreichen.

^

2. wie erstelle ich eine .htaccess-datei?

.htaccess-dateien sind reine textdateien. du kannst sie mit jedem texteditor (z.b. wordpad, notepad, BBEdit) erstellen. der inhalt der datei ist eine anweisung. um z.b eine eigene fehlerseite zu verwenden, schreibst du in dein textdokument folgende zeile:

errordocument 404 /www/error404.html

der naechste schritt ist deine datei unter dem namen .htaccess zu speichern. der '.' (punkt) gehoert zum namen! die datei darf keine endung (z.b. txt) besitzen.

deine neue .htaccess datei laedst du dann von deinem lokalen rechner per sftp auf den strg.at-server. du legst die datei in dasjenige verzeichnis, in dem die anweisung ausgefuehrt werden soll.
im obigen beispiel mit der fehlerseite moechtest du aber wahrscheinlich, dass die anweisung fuer dein gesamtes webprojekt gueltig ist. dazu legst du deine .htaccess-datei ins oberste verzeichnis. die anweisung gilt dann fuer alle unterverzeichnisse. .htaccess vererbt seine anweisung.

kommentare in .htaccess dateien werden mit # (raute) ausgewiesen und stoeren die funktion von .htaccess nicht. in den folgenden beispielen findest du oft kommentare, falls du diese kopierst, dann kannst du alle zeilen die mit # beginnen bedenkenlos loeschen.

# ich bin ein kommentar
# aber ich stoere den ablauf nicht!

^

3. welche dateirechte muss eine .htaccess-datei besitzen?

die rechte einer .htaccess-datei sollten z.b. auf 644 (rw-r--r--) stehen:

	Read	Write	Execute
Owner	x	x
Group	x
Others	x

Permission Mode: 644 (rw-r--r--)

also alle duerfen lesen ("4" entspricht r--), nur der eigentuemer darf ausserdem schreibenden zugriff ("6" entspricht rw-) auf die datei haben. die .htaccess-datei laesst sich aber nicht im browser anzeigen, da der server die datei als konfigurationsdatei erkennt und nicht ausliefert.

^

4. passwortgeschuetzte webseiten

eine .htaccess-datei in einem verzeichnis erlaubt einen passwortschutz fuer dieses und alle unterverzeichnisse. das verschluesselte passwort ist dabei ausserhalb des www verzeichnisses in einer datei (.htpasswd) gespeichert. hier kannst du dir beide dateien anlegen lassen.

zum anlegen gib in die toolbox den gewuenschten loginnamen und das gewuenschte passwort (max. 8 zeichen) ein, merke dir beide, druecke auf "erstellen" und folge der anleitung.

passwortschutz toolbox

loginname:

passwort:

anmerkungen:

willst du mehreren usern den zugang erlauben, dann erstelle per toolbox die gewuenschten passwoerter und kopiere sie in deine .htpasswd datei. zum beispiel:

usernamen1:1$0oXPT/jPWnY
usernamen2:1$0otPTeFKFnk
usernamen3:1$0wXPT3FKWnm

deine .htaccess muss dann auch mehrere user aufweisen, zum beispiel:

require user usernamen1 usernamen2 usernamen3

^

5. ich will die endung "html" behalten, aber trotzdem php-dateien ausfuehren

das ermoeglicht dir die vorteile von php zu nutzen ohne deine dateien umbenennen zu muessen. deine bersucherInnen, aber auch suchmaschinen werden erfreut sein, dass "alles beim alten" (html) bleibt, aber deine seiten neue funktionen aufweisen. die .htaccess-datei dazu:

# handler fuer .htm und .html ueberschreiben
addtype application/x-httpd-php .htm
addtype application/x-httpd-php .html

^

6. start.html, home.php oder bla.htm soll die startseite heissen, nicht index.html.

mit "directoryindex" laesst sich das einrichten. in deine .htaccess datei kommt folgender eintrag:

# sucht zuerst nach start.html,
# dann nach home.php und so weiter
directoryindex start.html home.php index.html

der erste treffer wird als index-datei fuer das verzeichnis verwendet.

^

7. eigene fehlerseiten anzeigen

der "404 error" zeigt an, dass die angeforderte datei nicht gefunden wurde. falsche oder alte links sind die ursache dieser fehlermeldungen.

404 - Not Found
The requested URL xyz.html was not found on this server.

ein personalisierte fehlerseite ist eine eigens erstelle webseite, die etwas freundlicher auf das problem hinweist und einen hinweis ueber das webprojekt liefert, etwa einen link zur startseite.
um den server anzuweisen, deine persoenliche fehlerseite anzuzeigen, gib folgendes in deine .htaccess datei:

# der pfad zu meiner angepassten fehlerseite.
errordocument 404 /www/error404.html

^

8. umleitungen

eine umleitung per .htaccess ermoeglicht es beispielsweise alte webprojekte auf neue umzuleiten.
das verhindert, dass dein projekt unter der alten adresse schlicht nicht mehr gefunden wird. Siehe auch: w3c - cool uris don't change.
der noetige eintrag in deiner .htaccess datei hat folgenden aufbau:

# umleitung hat folgenden aufbau
# redirect status was wohin
redirect permanent /alt/index.html http://neu.at/neu/index.html