Mit htaccess verschiedene Fehler-Seiten für verschiedene Verzeichnisse
Oliver Zubrod
- programmiertechnik
Hallo liebe Self-HTMLer.
Ich bräuchte mal wieder euere Hilfe.
Nachdem ich endlich genug Speicherplatz bei einem professionellen Hoster habe, möchte ich dort verschiedene Projekte veröffentlichen.
Diese sollen natürlich in verschieden Verzeichnissen abgelegt werden.
Eine eigene Seite, bei einem fehlerhaften Aufruf, die man Dank der htaccess-Datei anzeigen lassen kann, macht sich natürlich immer gut.
Jetzt meine Frage: Ist es irgendwie möglich, die htaccess-Datei so zu konfigurieren, daß pro angelegtem Unterverzeichnis eine eigene
"Fehler-Seite" erscheint?
Ich würde mich über euere Hilfe freuen. Und übrigends: Die Einrichtung von Sundomains ist leider nicht möglich.
Gruß aus Nürnberg,
olli
Jetzt meine Frage: Ist es irgendwie möglich, die htaccess-Datei so zu konfigurieren, daß pro angelegtem Unterverzeichnis eine eigene
"Fehler-Seite" erscheint?
Nein, jedes Unterverzeichnis braucht dann seine eigene .htaccess
WOW - das war ja 'ne schnelle Antwort. Danke!
Nein, jedes Unterverzeichnis braucht dann seine eigene .htaccess
Und man kann da wirklich einfach so in jedes Verzeichniss eine eigene .htaccess reinlegen?? Klappt das?
Gruß,
olli
Hallo Olli,
ich kann Dir zwar nicht helfen, aber mich würde interessieren ob das geht, verschiedene .htaccess innerhalb der gleichen domain zu verwenden.
Wäre nett, wenn Du mir antworten würdest.
Danke und tschü
Frankie
WOW - das war ja 'ne schnelle Antwort. Danke!
Nein, jedes Unterverzeichnis braucht dann seine eigene .htaccess
Und man kann da wirklich einfach so in jedes Verzeichniss eine eigene .htaccess reinlegen?? Klappt das?Gruß,
olli
Hi Olli, hi Frankie,
ich kann Dir zwar nicht helfen, aber mich würde interessieren ob das
geht, verschiedene .htaccess innerhalb der gleichen domain zuNein, jedes Unterverzeichnis braucht dann seine eigene .htaccess
Und man kann da wirklich einfach so in jedes Verzeichniss eine eigene
.htaccess reinlegen?? Klappt
Klar geht das.
Der Apache hangelt sich im Verzeichnisbaum solange nach oben, bis er eine
.htaccess findet. Die wird dann genommen. In jedem Verzeichnis ne andere
ist also kein Problem.
also einfach .htaccess mit entsprechendem Inhalt erstellen:
ErrorDocument 404 /fehler/fehler404.html
ErrorDocument 403 /fehler/fehler403.html
Liste der Codes <../../sfarchiv/2000_3/t16775.htm#a84743>
Eventuell möchtest du auch noch
Options -Indexes
einfügen, dann zeigt er keine Inhaltsverzeichnisse mehr an, (sondern 403)
wenn es keine index.html gibt.
Vielleicht nützt dir auch
DirectoryIndex startseite.html
dann wird auch startseite.html (statt index.html) automatisch aufgerufen,
wenn man eine URL angibt, wo nur der Pfad drinsteht.
Nicht alles muss bei jedem Provider freigeschaltet sein, einfach ausprobieren.
Gruss,
Carsten
Guten Morgen Carsten.
Vielen Dank für dein Posting, du hast mir (und wahrscheinlich auch Frankie) sehr geholfen.
Schönen Tag noch (bei DEM Wetter - zumindest hier in Nürnberg)
olli
Nein, jedes Unterverzeichnis braucht dann seine eigene .htaccess
Und man kann da wirklich einfach so in jedes Verzeichniss eine eigene .htaccess reinlegen?? Klappt das?
Solange es in der Serverkonfiguration nicht für bestimmte Verzeichnisse explizit verboten ist, ja. Eine .htaccess gilt immer für das aktuelle und alle darunter liegenden Verzeichnisse, somit kannst du beliebig vielen Verzeichnissen beliebig viele .htaccess Dateien zuordnen, auch unterhalb der selben Domain.
Nochmals hallo.
Solange es in der Serverkonfiguration nicht für bestimmte Verzeichnisse explizit verboten ist, ja. Eine .htaccess gilt immer für das aktuelle und alle darunter liegenden Verzeichnisse, somit kannst du beliebig vielen Verzeichnissen beliebig viele .htaccess Dateien zuordnen, auch unterhalb der selben Domain.
So weit die Theorie.
Leider klappt es bei mir immer noch nicht. Woran könnte das liegen? Was hab ich falsch gemacht.
Unter meiner Domain www.meine-domain.xy habe ich ein Unterverzeichnis namens "Verzeichnis" angelegt,
welches dann mit www.meine-domain.xy/verzeichnis zu erreichen ist.
In diesem Verzeichnis befindet sich eine htaccess, die folgenden Inhalt hat:
ErrorDocument 401 /error/error.htm
ErrorDocument 402 /error/error.htm
ErrorDocument 403 /error/error.htm
ErrorDocument 404 /error/error.htm
Sowohl der Ordner "error", als auch die Datei "error.htm" existieren natürlich im Unterverzeichnis.
Rufe ich jetzt allerdings eine nicht existierende Seite auf (z.B.: www.meine-domain.xy/verzeichnis/falscheseite.htm) auf,
erscheint nicht die von mir erstellte Fehlermeldung (error/error.htm) sondern eine Standardmeldung.
Wo liegt mein Fehler? Was habe ich falsch gemacht?
Besten Dank.
olli
Hallo Olli!
ErrorDocument 401 /error/error.htm
ErrorDocument 402 /error/error.htm
ErrorDocument 403 /error/error.htm
ErrorDocument 404 /error/error.htm
bei "/error/error.htm" wird die Datei http://www.meine-domain.xy/error/error.htm
aufgerufen, also gib an dieser Stelle "/verzeichnis/error/error.htm"
an oder noch einfach den richtigen URL der Fehlerseite, also
http://www.meine-domain.xy/verzeichnis/error/error.htm, so sollte
es dann klappen.
Viele Grüße aus Dresden,
Stefan Einspender
Hallo Stefan.
bei "/error/error.htm" wird die Datei http://www.meine-domain.xy/error/error.htm
aufgerufen, also gib an dieser Stelle "/verzeichnis/error/error.htm"
an oder noch einfach den richtigen URL der Fehlerseite, also
http://www.meine-domain.xy/verzeichnis/error/error.htm, so sollte
es dann klappen.
Ich habe deine Tips natürlich gleich ausprobiert.
Leider klappt es immer noch nicht.
Hast du (oder jemand anderes) vielleicht noch eine Idee?
Danke und Grüße aus Nürnberg,
olli
ErrorDocument 401 /xyz/error401.html
ErrorDocument 403 /xyz/error403.html
ErrorDocument 404 /xyz/error404.html
diese drei zeilen (ohne zeilenschaltung nach dem letzten eintrag)
funktionieren, als .htaccess abgespeichert, bei mir wunderbar, die
error-dokumente liegen dabei im verzeichnis /xyz, aber genausogut
funzt auch, wenn ich http://www.domain.xy/xyz/error401.html usw.
angebe.
die .htaccess kann in jedem beliebigen verzeichnis der domain
liegen, für dieses und sämtliche verzeichnisse unterhalb gelten
dann obengenannten error-dokumente.
bitte achte unbedingt auf den dateinamen ".htaccess" (ohne .txt
am ende, eventuell mußt du die datei nach dem hochladen im ftp-
programm umbenennen, solltest du mal erforschen, was da steht ;-)
mfg, se
ps: sollte es dann wirklich nicht funzen, dann frage mal lieber
bei deinem websp$ce-provider nach, ob es überhaupt freigeschalten
ist, bei strato geht es aber ganz sicher.
ps: sollte es dann wirklich nicht funzen, dann frage mal lieber
bei deinem websp$ce-provider nach, ob es überhaupt freigeschalten
ist, bei strato geht es aber ganz sicher.
Hi Stefan,
du hast recht: bei Strato klappt das wirklich.
Aber bei meinem neuen Hoster funzt des ganze immer noch net.
Werd mich wohl mit denen mal in Verbindung setzen müssen!
Mach ich aber erst morgen (ähh: heute), aber jetzt geh ich erst mal schlafen.
Danke für deine Hilfe.
MfG
olli
an oder noch einfach den richtigen URL der Fehlerseite, also
http://www.meine-domain.xy/verzeichnis/error/error.htm, so sollte
es dann klappen.
Das sollte man niemals machen, da der Response Code so geändert wird und der UserAgent nicht mehr erkennen kann, woran er ist.
Hi,
Jetzt meine Frage: Ist es irgendwie möglich, die htaccess-Datei so zu konfigurieren, daß pro angelegtem Unterverzeichnis eine eigene
"Fehler-Seite" erscheint?
ja, ich denke, das ist (indirekt) möglich.
Ich würde dazu als Fehler-Handler eine CGI-Anwendung schreiben.
Diese kann über entsprechende Environment-Variablen herausfinden, in welchem Verzeichnis der Fehler vorlag.
Aus diesem Verzeichnis kann sie den Namen der Deiner Meinung nach zugehörigen Fehlerdatei berechnen und dann
mfG - Michael