Jannes: relative verzeichnis-links ohne schliessendes slash beim crawlen

Beitrag lesen

Hi zusammen,

stehe vor folgender Problematik und suche nach zielführenden Impulsen:
möchte (unbekannte) relative Links zu absoluten Links wandeln, z.B. Links die sich auf der Seite http://localhost/sub1/sub2/ befinden und so aussehen:
sub3/index.html
sub3/
sub3

daraus mache ich dann:

1)  http://localhost/sub1/sub2/sub3/index.html
2)  http://localhost/sub1/sub2/sub3/
3)  http://localhost/sub1/sub2/sub3

weil ich /sub1/sub2/ als Basis hernehme.

Wenn ich jetzt die drei neuen Links abarbeiten möchte, muß ich für jeden zunächst auch eine Basis (den Pfad ohne Datei) ermitteln. Nur den Teil bis zum letzten Slash (/) zu nehmen greift nicht wirklich:

1)  /sub1/sub2/sub3/
2)  /sub1/sub2/sub3/
3)  /sub1/sub2/

Problemfall ist der 3. Pfad. Im obigen Fall wird wohl sub3 ein Verzeichnis sein, aber /sub1/sub2/dingsda kann sowohl Verzeichnis als auch Datei sein. Das es sich 'eigentlich gehört' einen abschliessenden Slash zu schreiben, wenn es keine Datei ist, ist evtl. schon veraltet, und auch wenn nicht, wird es sehr oft nicht getan.

Momentan tendiere ich dazu, immer wenn kein abschliessender Slash vorhanden ist und der Pfad nicht auf gängige Dateiendungen (.htm,.html,.shtml,.php,.cgi,.asp) endet, beide Möglichkeiten zu listen. Dann wird es zwar unter Umständen viele 404 antworten geben, aber es entwischt mir (hoffentlich) auch keiner.

Meinungen, Vorschläge hierzu?

Gruß,
Jannes