PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache v1.3x + individuelle Fehlerseiten



Duck
24.12.05, 15:09
Hallo!
Ich versuch derzeit meinem Apache beizubringen, dass für jede Domain verschiedene Fehlerseiten angezeigt werden. Ist dies machbar? Ich habe leider hierfür aber bisher keine Möglichkeit gefunden dies individuell zu definieren, lediglich global.
Hat hierfür einer von euch einen Tip für mich?

Vielen Dank schonmal.

undefined
24.12.05, 15:43
http://httpd.apache.org/docs/1.3/urlmapping.html#notfound
http://httpd.apache.org/docs/1.3/custom-error.html

Duck
25.12.05, 14:07
Leider funktioniert das ganze bei mir nicht wie es sollte. Ich vermute mal das ich wo einen Fehler gemacht hab - weiß aber nicht wo.

Ich hab das folgende in meiner vhost.conf für das betreffende Web:


ErrorDocument 404 /var/www/w1/404.html
Dies ist die korrekte absolute url zum Dokument. Ich habe das ganze auch mit einer .htaccess getestet ... geht aber leider auch nicht.

derRichard
25.12.05, 15:32
Leider funktioniert das ganze bei mir nicht wie es sollte. Ich vermute mal das ich wo einen Fehler gemacht hab - weiß aber nicht wo.

Ich hab das folgende in meiner vhost.conf für das betreffende Web:


ErrorDocument 404 /var/www/w1/404.html
Dies ist die korrekte absolute url zum Dokument. Ich habe das ganze auch mit einer .htaccess getestet ... geht aber leider auch nicht.
hallo!

man darf keinen unix-pfad angebeben, weil der apache einen http-redirect macht.

es muss so heissen:
ErrorDocument 404 /404.html
(sofern /var/www/w1/ das wwwroot vom vhost ist...)

hth,
//richard

Roger Wilco
26.12.05, 13:58
man darf keinen unix-pfad angebeben, weil der apache einen http-redirect macht.
Nein, nur wenn du eine entfernte URL angibst. Wenn eine lokale Datei angegeben wird, gibt der Apache der ErrorCode (im Bsp. 404) und die Seite ohne Redirect aus.

undefined
26.12.05, 17:32
Also was derRichard geschrieben hat ist schon Richtig ;)
Mit absoluten Pfaden kann der Apache nichts anfangen weil wie schon erwähnt er ein Redirected auf DOCUMENT_ROOT macht.
Dies kannst du aber über Aliases verändern ;)
Ein einfacher Blick in die Standard Konfiguration erklärt hierbei einiges ;)



#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# Putting this all together, we can internationalize error responses.
#
# We use Alias to redirect any /error/HTTP_<error>.html.var response to
# our collection of by-error message multi-language collections. We use
# includes to substitute the appropriate text.
#
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line:
#
# Alias /error/include/ "/your/include/path/"
#
# which allows you to create your own set of files by starting with the
# /usr/share/apache2/error/include/ files and copying them to /your/include/path/,
# even on a per-VirtualHost basis. The default include files will display
# your Apache version number and your ServerAdmin email address regardless
# of the setting of ServerSignature.
#
# The internationalized error documents require mod_alias, mod_include
# and mod_negotiation. To activate them, uncomment the following 30 lines.

Alias /error/ "/usr/share/apache2/error/"

<IfModule mod_negotiation.c>
<IfModule mod_include.c>
<Directory "/usr/share/apache2/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr
ForceLanguagePriority Prefer Fallback
</Directory>

ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
ErrorDocument 410 /error/HTTP_GONE.html.var
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
</IfModule>
</IfModule>

Duck
27.12.05, 13:57
Sonderlich erfolgreich war ich leider damit immernoch nicht. Habe auch die Apache Doku nochmal gewälzt. Es geht einfach nicht ... :(

An was könnte es denn noch liegen?