Viennamade: | HTTP Errordocument & Adreßzeile

Hallo Forumer!

In der .htaccess ist das drinnen:
  ErrorDocument 404 /error404.php
  ErrorDocument 403 /error404.php
  RewriteRule fehler404.php$ error404.php?lang=de [L]

error404.php besteht aus einer Sitemap und wird korrekt aufgerufen. Was mich dabei stört, daß in der Adresszeile die falsch getippte und nicht vorhandene URL angezeigt wird.

Eigentlich wollte ich Euch fragen wie ich das ändern kann, daß also error404.php in der Adreßzeile angezeigt wird. Jetzt werde ich allerdings unsicher, denn bei http://www.selfhtml.org/l%F6ksdjf läufts genauso.

Was ist korrekt?

Beste Grüße
Viennamade

  1. Hallo Viennamade,

    Eigentlich wollte ich Euch fragen wie ich das ändern kann, daß also
    error404.php in der Adreßzeile angezeigt wird. Jetzt werde ich allerdings
    unsicher, denn bei http://www.selfhtml.org/l%F6ksdjf läufts genauso.

    Der Apache hat da unterschiedliche Verhaltensweisen. Was Du möchtest, ist,
    daß er einen Redirect auf /error404.php aussendet; der Client wird dann
    zu dieser URL weitergeleitet. Dies kriegst Du hin, wenn Du in der Direktive
    ErrorDocument nicht die relative URL sondern die absolute URL, also mit
    http://domain.tld/error404.php angibst. Siehe auch:
    http://httpd.apache.org/docs/mod/core.html#errordocument

    (Wieso eigentlich? Ich finde das von Dir kritisierte Verhalten eigentlich
    logischer)

    Tim

    1. Hallo!

      Eigentlich wollte ich Euch fragen wie ich das ändern kann, daß also
      error404.php in der Adreßzeile angezeigt wird. Jetzt werde ich allerdings
      unsicher, denn bei http://www.selfhtml.org/l%F6ksdjf läufts genauso.

      Der Apache hat da unterschiedliche Verhaltensweisen. Was Du möchtest, ist,
      daß er einen Redirect auf /error404.php aussendet; der Client wird dann
      zu dieser URL weitergeleitet. Dies kriegst Du hin, wenn Du in der Direktive
      ErrorDocument nicht die relative URL sondern die absolute URL, also mit
      http://domain.tld/error404.php angibst. Siehe auch:
      http://httpd.apache.org/docs/mod/core.html#errordocument

      (Wieso eigentlich? Ich finde das von Dir kritisierte Verhalten eigentlich
      logischer)

      Naja, ich komme mir vor wie beim Anzug probieren. Des einen Blau ist zu dunkel, des anderen Stoff zu fein.
      Meine Überlegung war, daß wenn in der Adresszeile eine falsche URL steht, ist das wie wenn ich in einer Stadt vor einem Adressschild stehe und es diese Adresse gar nicht gibt.

      Aber Du und Andreas haben mich überzeugt, schon wegen dem korrekten 404er.

      Besten Dank
      Viennamade

  2. Hi,

    error404.php besteht aus einer Sitemap und wird korrekt aufgerufen. Was mich dabei stört, daß in der Adresszeile die falsch getippte und nicht vorhandene URL angezeigt wird.

    Ist doch auch sinnvoll - dann kann man den Tippfehler leicht beseitigen.

    Man kann auch bei ErrorDocument eine vollständige URL (http://...) angeben - dann wird ein Redirect ausgeführt.

    Das hat aber Nachteile, z.B.:

    • Der User kann den Tippfehler nicht korrigieren, weil die von ihm getippte URL weg ist
    • Der Client bekommt nicht den Fehlercode (z.B. 404), sondern den Weiterleitungscode

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.