Sebastian Becker: Slash am Ende der URL

Hallo,

was bewirkt eigentlich der Slash am Ende einer URL?

Der Unterschied wurde mir gerade durch folgenden merkwürdigen Effekt deutlich gemacht:

Beim Aufrufen der URL http://www.domainname.de/board erscheint die Seite http://fox.domainname.de/board/ bzw. die entsprechende index-Seite, wogegen beim Aufrufen von http://www.domainname.de/board/ diese URL erhalten bleibt.

Woran kann dies liegen?

Danke für alle Hinweise, Grüße,

Sebastian

  1. Hallo,

    was bewirkt eigentlich der Slash am Ende einer URL?

    Der Unterschied wurde mir gerade durch folgenden merkwürdigen Effekt deutlich gemacht:

    Beim Aufrufen der URL http://www.domainname.de/board erscheint die Seite http://fox.domainname.de/board/ bzw. die entsprechende index-Seite, wogegen beim Aufrufen von http://www.domainname.de/board/ diese URL erhalten bleibt.

    Woran kann dies liegen?

    Erst einmal vorweg: Das ist so _gewollt_.

    Wenn Du relative Links (<a href="abc.html">) hast, dann sucht sich der Browser den Teil der Adresse, der beim _letzten_ Slash aufhört (bei http://www.domainname.de/test.html ist es http://www.domainname.de/, bei http://www.domainname.de/test/test.html ist es http://www.domainname.de/test/) und hängt die relative URL dran. Wenn du jetzt keinen Slash am Ende eines Verzeichnisses hättest, dann würde er relatie Links automatisch ans darüberliegende Verzeichnis hängen, weil der Browser denken würde, das Verzeichnis wäre eine Datei (er kann es ja nicht wissen) Jeder Server leitet automatisch den Browser weiter, wenn er auf ein Verzeichnis zugreifen will, aber den Slash nicht mitgegeben hat. (der Server weiß ja, ob es ein Verzeichnis ist oder nicht) Kleiner Tipp: Wenn Du Traffic sparen willst, dann füge an _alle_ Links auf Verzeichnisse diesen Slash an, dann sparst du den Redirect. (ist zwar im einzelnen nicht viel, summiert sich aber)

    Grüße,

    Christian

    1. Hallo,

      O.K., die allgemeine Erklärung und der Tip soweit ganz einleuchtend, Danke,

      aber das erklärt (mir zumindest) immer noch nicht so recht, warum beim Aufrufen der URL http://www.domainname.de/board die Seite http://fox.domainname.de/board/ bzw. die entsprechende index-Seite erscheint, wogegen beim Aufrufen von http://www.domainname.de/board/ diese URL erhalten bleibt.

      Grüße,

      Sebastian

      1. Hallo,

        O.K., die allgemeine Erklärung und der Tip soweit ganz einleuchtend, Danke,

        aber das erklärt (mir zumindest) immer noch nicht so recht, warum beim Aufrufen der URL http://www.domainname.de/board die Seite http://fox.domainname.de/board/ bzw. die entsprechende index-Seite erscheint, wogegen beim Aufrufen von http://www.domainname.de/board/ diese URL erhalten bleibt.

        Verzeichnisse erhalten den abschließenden Slash, damit sie
        von Dateien unterschieden werden können. Wenn du den Slash
        vergißt, wird er automatisch vom Browser angefügt.
        Da dabei kein Dateiname angegeben wurde, sonst bräuchte es
        den abschließenden Slash nicht, wird automatisch eine
        Startseite geladen, so sie vorhanden ist. Welchen Namen diese
        tragen kann, wird auf dem Webserver festgelegt.

        Tschüß, Auge

  2. was bewirkt eigentlich der Slash am Ende einer URL?

    Das kommt ganz drauf an, in einem Pfad trennt der Slash verschiedene Komponenten voneinander...

    Der Unterschied wurde mir gerade durch folgenden merkwürdigen Effekt deutlich gemacht:

    Beim Aufrufen der URL http://www.domainname.de/board erscheint die Seite http://fox.domainname.de/board/ bzw. die entsprechende index-Seite, wogegen beim Aufrufen von http://www.domainname.de/board/ diese URL erhalten bleibt.

    Woran kann dies liegen?

    Fehlkonfiguration des Webservers bzw. unangenehmer Nebeneffekt einer internen URI-Korrektur beim Apache-Webserver, statt nur den Slash anzuhängen, wenn keine gleichnamige Ressource existiert, leitet er auf http://$SERVERNAME/... um, wenn die Ressource exisitert, fällt das natürlich weg. Servername und tatsächlicher Name stimmen offensichtlich nicht überein, sonst würde das nicht auffallen.