$xNeTworKx: /PERL Ich hatte doch mal dieses eine Problem mit visited Links

Hallo,

Vielleicht kann sich noch wer erinnern. Ich hatte mal vor längerer Zeit ein Problem, wo ich bei meinem Perl Forum im Mozilla die visited Links nicht als visited sah, sondern als active, obwohl diese bereits besucht waren, und es funktionierte nur am Webspace nicht.
Nun, unlängst bin ich draufgekommen warum:
Da dieses Forum auf CGI basiert, lasse ich das Forum mit der absoluten URL nach einer Aktion (zb posten) neu laden, daß man zB wieder auf den Hauptteil kommt.
ich gab die Adresse früher immer so an:
my $url = 'http://mein.forum.cgi';

Durch Zufall habe ich einmal die Adresse so angegeben :
my $url = 'http://mein.forum.cgi/';
und plötzlich funktionierten die visited Links, aber warum ist das so ?
Ich habe daraufhin versucht andere Links mit einem abschließenden / anzugeben (zb externe CSS Dateien, wo ich einen Ordner zuerst "nach oben ging" (../) ), aber da wurde die Datei dann nicht gefunden ?
Kann mir jemand erklären, was es genau mit diesem / auf sich hat ?

  1. hi,

    ich gab die Adresse früher immer so an:
    my $url = 'http://mein.forum.cgi';
    Durch Zufall habe ich einmal die Adresse so angegeben :
    my $url = 'http://mein.forum.cgi/';
    und plötzlich funktionierten die visited Links

    dir scheint nicht ganz klar zu sein, was ein "URL" ist, und was ein "link", ganz abgesehen davon, daß $url eine Variable ist und man sehen müßte, wie sie in deinem Script eingesetzt wird. Grundsätzlich ist ein URL _ohne_ den slash der Pfad zu einer Datei. Gibt es eine solche Datei nicht, setzen die Browser den slash dahinter und behandeln es als Verzeichnis, dessen "default"-Datei dann geladen wird. Steht der slash gleich dahinter, ist klar, daß es sich um ein Verzeichnis handelt.

    Ich habe daraufhin versucht andere Links mit einem abschließenden / anzugeben (zb externe CSS Dateien, wo ich einen Ordner zuerst "nach oben ging" (../) ), aber da wurde die Datei dann nicht gefunden ?

    na klar, weil du damit auf ein Verzeichnis verwiesen hast statt auf eine Datei, und dieses Verzeichnis existiert offensichtlich nicht

    Grüße

    Christoph S.

    1. Hallo,

      ich gab die Adresse früher immer so an:
      my $url = 'http://mein.forum.cgi';
      Durch Zufall habe ich einmal die Adresse so angegeben :
      my $url = 'http://mein.forum.cgi/';
      und plötzlich funktionierten die visited Links

      dir scheint nicht ganz klar zu sein, was ein "URL" ist, und was ein "link", ganz abgesehen davon, daß $url eine Variable ist und man sehen müßte, wie sie in deinem Script eingesetzt wird. Grundsätzlich ist ein URL _ohne_ den slash der Pfad zu einer Datei. Gibt es eine solche Datei nicht, setzen die Browser den slash dahinter und behandeln es als Verzeichnis, dessen "default"-Datei dann geladen wird. Steht der slash gleich dahinter, ist klar, daß es sich um ein Verzeichnis handelt.

      Aha, jetzt ist mir einiges klar: es funktioniert in dem Fall, weil $url eigentlich in Wirklichkeit auf den Domainnamen verweist (also auf index.cgi = so wie das Forum in Wirklichkeit benannt ist)

      Ich habe daraufhin versucht andere Links mit einem abschließenden / anzugeben (zb externe CSS Dateien, wo ich einen Ordner zuerst "nach oben ging" (../) ), aber da wurde die Datei dann nicht gefunden ?
      na klar, weil du damit auf ein Verzeichnis verwiesen hast statt auf eine Datei, und dieses Verzeichnis existiert offensichtlich nicht

      Is eigentlich ganz logisch, danke =)
      Was mich noch interressieren würde :
      Nur wie hängt jetzt eigentlich das mit dem visited Link zusammen ? warum hat es nicht funktioniert als ich 'http://mein.forum.cgi' angab und warum funktioniert es, wenn ich 'http://mein.forum.cgi/' angebe ?

      1. hi,

        Is eigentlich ganz logisch, danke =)

        bittesehr

        Nur wie hängt jetzt eigentlich das mit dem visited Link zusammen ? warum hat es nicht funktioniert als ich 'http://mein.forum.cgi' angab und warum funktioniert es, wenn ich 'http://mein.forum.cgi/' angebe ?

        bleib doch bei der Logik: du hast ja "http://mein.forum.cgi" niemals besucht, sondern bist immer auf "http://mein.forum.cgi/" umgeleitet worden, also konnte sich für "http://mein.forum.cgi" nix als "visited" darstellen

        Christoph S.

        1. Hi,

          Nur wie hängt jetzt eigentlich das mit dem visited Link zusammen ? warum hat es nicht funktioniert als ich 'http://mein.forum.cgi' angab und warum funktioniert es, wenn ich 'http://mein.forum.cgi/' angebe ?
          bleib doch bei der Logik: du hast ja "http://mein.forum.cgi" niemals besucht, sondern bist immer auf "http://mein.forum.cgi/" umgeleitet worden, also konnte sich für "http://mein.forum.cgi" nix als "visited" darstellen

          naja es ist so : Zum einen habe eine eine Webseite, die nur aus dem Forum mit zusaätzlichen Links besteht. (= eigene Domain (eigentlich eine Subdomain meiner Hauptdomain)) Also ein riesiges 62k CGI Script. dabei hatte ich ja damals dieses Problem mit den visited Links (Hier verwende ich auch zum 'refreshen' das abschließende /.
          dann habe ich das gleiche Forum auf meiner Webseite, die unter meiner Hauptdomain läuft eingebunden, aber ohne das abschließende /, und da funktionieren aber die visited Links. (my $url = 'http://www.meindomain.com/forum/forum.cgi';
          ich verstehe nicht ganz warum es da ohne / , und bei der anderen Seite nur mit / funktioniert ?

          1. hallo,

            dann habe ich das gleiche Forum auf meiner Webseite, die unter meiner Hauptdomain läuft eingebunden, aber ohne das abschließende /, und da funktionieren aber die visited Links. (my $url = 'http://www.meindomain.com/forum/forum.cgi'
            ich verstehe nicht ganz warum es da ohne /

            weil es sich bei der angegebenen Adresse um eine anklickbare Datei ein (PERL)script, handelt. Da gehört eh kein / dahinter  -  und es ist sehr eigenartig, daß das nicht in einem cgi-bin-Verzeichnis liegt

            und bei der anderen Seite nur mit / funktioniert ?

            weil diese "andere Seite" höchstwahrscheinlich keine anklickbare Datei, sondern ein Verzeichnisname ist

            Christoph S.

            1. Hallo,

              dann habe ich das gleiche Forum auf meiner Webseite, die unter meiner Hauptdomain läuft eingebunden, aber ohne das abschließende /, und da funktionieren aber die visited Links. (my $url = 'http://www.meindomain.com/forum/forum.cgi'
              ich verstehe nicht ganz warum es da ohne /
              weil es sich bei der angegebenen Adresse um eine anklickbare Datei ein (PERL)script, handelt. Da gehört eh kein / dahinter  -  und es ist sehr eigenartig, daß das nicht in einem cgi-bin-Verzeichnis liegt

              Wenn ich ein cgi-bin verwenden würde, wäre auf meinem Webspace ein ganz schön chaotischer Zustand, da ich dann überhaupt keine Übersicht mehr hätte :)