Schnodermuttz: mod rewrite - nette URLs - Meinung

Hallo,
ich schreibe meine URLs mit mod_rewrite um. Nehmen wir mal an, ich habe folgende URL:

http://example.com/dir/file
schreibe ich diese intern um auf
http://example.com/dir/file.html

Ich würde gerne Eure Meinung zu folgendem wissen: haltet ihr es für sinnvoll bzw. nötig, auch

http://example.com/dir/file/
auf
http://example.com/dir/file.html
umzuschreiben, oder sollte es dann ein 404 Not Found geben? Ich habe in letzter Zeit desöfteren den Test bei verschiedenen Websites gemacht, teilweise wird es unterschiedlich gehandhabt. Tatsächlich sollte ja der endende Slash eher auf eine index-Datei eines Verzeichnisses weisen (mal unabhängig jetzt von mod_rewrite).

Hintergrund: die URL "http://example.com/dir/file" wird in Newslettern o.ä. gepostet, und nun könnte ja ein User auf die Idee kommen, noch ein / ans Ende von file zu hängen. (Gut, für diesen Fall könnte man natürlich beide Versionen umschreiben). Aber mal grundsätzlich gefragt.

Dankeschön

  1. Tach!

    ich schreibe meine URLs mit mod_rewrite um. Nehmen wir mal an, ich habe folgende URL:
    http://example.com/dir/file
    Ich würde gerne Eure Meinung zu folgendem wissen: haltet ihr es für sinnvoll bzw. nötig, auch
    http://example.com/dir/file/
    umzuschreiben, oder sollte es dann ein 404 Not Found geben?

    Erstmal kommt es darauf an, ob du Verweise relativ zu dieser URL notiert hast. Ein <img src="foo.png"> löst im ersten Fall zu

    http://example.com/dir/foo.png

    auf und im zweiten Fall zu

    http://example.com/dir/file/foo.png

    Dem Anwender völlig egal, ob da ein Trailing-Slash steht oder nicht. Er findet es sicher unverständlich, wenn er bei /file einen Fehler zu sehen bekommt. Wenn du aus dem Verlinkungsgrund den / brauchst, dann gibt dem Browser ein Redirect auf /file/ zurück. Wenn du nur relativ zum DocumentRoot linkst, kannst du dir die Gedanken um / oder nicht sparen.

    Ich habe in letzter Zeit desöfteren den Test bei verschiedenen Websites gemacht, teilweise wird es unterschiedlich gehandhabt. Tatsächlich sollte ja der endende Slash eher auf eine index-Datei eines Verzeichnisses weisen (mal unabhängig jetzt von mod_rewrite).

    Das ist die interne Default-Umsetzung im Apachen, der Requests auf das Filesystem mappen muss. Wenn du dabei aber eingreifst, ist keine Notwendigkeit mehr vorhanden, den / als ein Kennzeichen für den DirectoryIndex-Eintrag heranzuziehen.

    dedlfix.

  2. hi,

    Ich würde gerne Eure Meinung zu folgendem wissen: haltet ihr es für sinnvoll bzw. nötig, auch

    http://example.com/dir/file/
    auf
    http://example.com/dir/file.html
    umzuschreiben, oder sollte es dann ein 404 Not Found geben?

    Ich halte es so: Entweder gibt es die eine oder andere Ressource oder es gibt sie nicht und wenn es sie nicht gibt, hat der erste Response-Header den Status: 404 Not Found, ansonsten 200 OK.

    Hotti

  3. Hm, ich hatte mich wohl umständlich ausgedrückt. Also nochmals kurz:

    wenn ihr eine URL habt, die ihr in den Browser eingeben müsst:

    a) http://example.org/jobs

    und ihr schreibt diese selbstständig um in

    b) http://example.org/jobs/

    was genau würdet ihr bei b) erwarten? Dass das Ergebnis das selbe ist wie a)?

    Und was würdet ihr sagen, wenn b) umgeleitet wird auf 404?
    Das ist keine technische Frage, sondern nur eine sachliche. Noch zu Bemerken wäre, dass die URL weitergebeben wird, z.b. in Emails (Newslettern) oder Postings in Job-Portalen.

    1. Tach!

      wenn ihr eine URL habt, die ihr in den Browser eingeben müsst:
      a) http://example.org/jobs
      und ihr schreibt diese selbstständig um in
      b) http://example.org/jobs/
      was genau würdet ihr bei b) erwarten? Dass das Ergebnis das selbe ist wie a)?

      Ja, als normalsterblicher Anwender erwarte ich, dass beides funktioniert.

      Und was würdet ihr sagen, wenn b) umgeleitet wird auf 404?

      Dann ist das System wohl kaputt. Leitet es so um, dass es passt.

      Ist "Umleiten auf 404" nur unsauber formuliert oder meinst du das wirklich so? Also zuerst eine 301er Antwort, der dann ein 404er Status folgt oder lieferst du den 404 direkt aus und leitest nur serverintern irgendwas um?

      dedlfix.

      1. Hi

        Und was würdet ihr sagen, wenn b) umgeleitet wird auf 404?

        Dann ist das System wohl kaputt. Leitet es so um, dass es passt.

        Ist "Umleiten auf 404" nur unsauber formuliert oder meinst du das wirklich so? Also zuerst eine 301er Antwort, der dann ein 404er Status folgt oder lieferst du den 404 direkt aus und leitest nur serverintern irgendwas um?

        Nur unsauber formuliert. selber Umleiten tue ich dann natürlich  gar nichts

    2. [latex]Mae  govannen![/latex]

      wenn ihr eine URL habt, die ihr in den Browser eingeben müsst:

      a) http://example.org/jobs

      und ihr schreibt diese selbstständig um in

      b) http://example.org/jobs/

      was genau würdet ihr bei b) erwarten? Dass das Ergebnis das selbe ist wie a)?

      Ja, entweder das oder einen Redirect mit 301 auf a (oder auch von a auf b, das ist Geschmacksache). Hauptsache konsistent.

      Und was würdet ihr sagen, wenn b) umgeleitet wird auf 404?

      „Scheiß-Site“ <klick auf "close"-button>

      Stur lächeln und winken, Männer!
      Kai

      --
      It all began when I went on a tour, hoping to find some furniture
       Followed a sign saying "Beautiful Chest", led to a lady who showed me her best)
      SelfHTML-Forum-Stylesheet
    3. Hi,

      wenn ihr eine URL habt, die ihr in den Browser eingeben müsst:

      a) http://example.org/jobs

      und ihr schreibt diese selbstständig um in

      b) http://example.org/jobs/

      was genau würdet ihr bei b) erwarten? Dass das Ergebnis das selbe ist wie a)?

      Zwei unterschiedliche Ergebnisse wären vollkommener Humbug.

      Ich würde ein Format als das "korrekte" festlegen, und dann entweder

      • das andere darauf umleiten, oder
      • den Inhalt kommentarlos auch bei der "falschen" Adresse ausgeben, und dann aber für Suchmaschinen etc. die korrekte Form als canonical URL angeben.

      Und was würdet ihr sagen, wenn b) umgeleitet wird auf 404?

      Dann wirst du auf jeden Fall Besucher verlieren, insbesondere -

      Das ist keine technische Frage, sondern nur eine sachliche. Noch zu Bemerken wäre, dass die URL weitergebeben wird, z.b. in Emails (Newslettern) oder Postings in Job-Portalen.

      • wenn die Adressen auch in einem Umfeld verwendet werden soll(t)en, das kein direkte Klicken erlaubt (Plakate, ...), sondern ein "Merken" der Adresse erfordert.

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    4. hi,

      wenn ihr eine URL habt, die ihr in den Browser eingeben müsst:

      a) http://example.org/jobs

      und ihr schreibt diese selbstständig um in

      b) http://example.org/jobs/

      was genau würdet ihr bei b) erwarten? Dass das Ergebnis das selbe ist wie a)?

      Nein, nicht dasselbe, es sind verschiedene URLs. Aber bei der Wahl der Namen für meine Webressourcen gebe ich mir ein bischen mehr Mühe ;)

      Und was würdet ihr sagen, wenn b) umgeleitet wird auf 404?

      Wenn die Ressource b) nicht vorhanden ist, wird nicht umgeleitet, sondern der Status: 404 Not Found gesendet.

      Hotti

    5. Hallo,

      danke für euere Antworten. Ich sehe das genauso und habe das auch so angewandt.