Achim Bülthuis: Server findet Datei nicht, obwohl vorhanden und Pfad korrekt

Ich habe auf meinem Webserver u.a folgende Ordner/Dateien:

Domain: http://www.domain.de
http://www.domain.de/subdir/...alle HTML-Seiten...
http://www.domain.de/subdir/cgi-bin
http://www.domain.de/subdir/cgi-bin/gaestebuch.pl
http://www.domain.de/subdir/cgi-bin/warenkorb.pl
http://www.domain.de/subdir/cgi-bin/beliebigeseite.htm

"gaestebuch.pl" und "warenkorb.pl" sind Perl-Skripts, die Berechnungen
durchführen, eine Seite generieren und diese dann zurückgeben.

"beliebigeseite.htm" enthält einen Link auf "gaestebuch.pl", man
klickt drauf und das Gästebuch wird dargestellt, soweit kein Problem.

Ich möchte nun aber folgendes: alle Seiten z.B. "beliebigeseite.htm",
aber auch die Gästebuchseite, die duch "gaestebuch.pl" erzeugt wird,
enthalten Links auf "warenkorb.pl", und weil man vom Warenkorb immer
leicht zur vorigen Seite zurückkehren können soll, enthält die Seite,
die "warenkorb.pl" erzeugt, einen Link "ZURÜCK".

Rufe ich z.B. von "beliebigeseite.htm" "warenkorb.pl" auf, mache ich
das so:

<a href="/subdir/cgi-bin/warenkorb.pl/subdir/beliebigeseite.htm">

Die Pfadinformation "/subdir/beliebigeseite.htm" lese ich dann in
"warenkorb.pl" mit der ENV-Variablen "PATH_INFO" aus, um einen Link zu
konstruieren, mit dem ich zu "beliebigeseite.htm" zurückspringen kann,
das klappt auch wunderbar.

Allerdings: Rufe ich "warenkorb.pl" von der Seite auf, die von
"gaestebuch.pl" erzeugt wird, meldet der Server:

The requested URL /subdir/cgi-bin/warenkorb.pl/subdir/cgi-bin/gaestebuch.pl was not found on this server.

Das ist mir rät-sel-haft, es ist doch alles genauso wie im vorigen
Beispiel, nur, daß die Pfadinfo im zweiten Beispiel das cgi-bin-Directory
dazwischenhat.

Übrigens: Lokal auf meinem PC besteht das Problem nicht. Allerdings sind
auf dem PC unter MS Personal Webserver die Verzeichnisse "subdir" und
"cgi-bin" als virtuelle Verzeichnisse eingerichtet:

C:\WEBSHARE\WWWROOT\subdir              /subdir  
C:\WebShare\wwwroot\subdir\cgi-bin      /subdir/cgi-bin

Gruß an alle...

Achim.

  1. Ich habe zwar gerade nicht die Muße, das alles zu durchdringen,

    aber diese Referenz sieht ja ziemlich wirr aus:

    <a href="/subdir/cgi-bin/warenkorb.pl/subdir/beliebigeseite.htm">

    warenkorb.pl soll eine Referenz auf beliebigeseite.htm im gleichen Verzeichnis enthalten?

    <a href="beliebigeseite.htm">

    The requested URL /subdir/cgi-bin/warenkorb.pl/subdir/cgi-bin/gaestebuch.pl was not found on this server.

    das ist kein Rätsel, das ist ja wohl logisch, du hast doch nicht die Verzeichnisstruktur:

    /subdir/cgi-bin/warenkorb.pl (<- warenkorb.pl ist doch kein Verzeichnis mit Unterverzeichnis subdir/cgi-bin/gaestebuch.pl)

    ich denke, du solltest mal den Unterschied zwischen Dateien und Verzeichnissen und deren Verschachtelungen studieren, so auf den ersten Blick machst du da Mist....

    Gruss
    Connie

    1. Hallo Connie!

      ich denke, du solltest mal den Unterschied zwischen Dateien und Verzeichnissen und deren Verschachtelungen studieren, so auf den ersten Blick machst du da Mist....

      Ich denke, Du solltest mal ein wenig das Forumsarchiv studieren... ;-)  Ja ja, folgende Links koennten Dich aufklaeren:
      <../../sfarchiv/1999_1/t01961.htm#a8936>
      <../../sfarchiv/1999_1/t01755.htm#a7749>

      Bye, Calocybe

    2. Ich habe zwar gerade nicht die Muße, das alles zu durchdringen,

      aber diese Referenz sieht ja ziemlich wirr aus:

      <a href="/subdir/cgi-bin/warenkorb.pl/subdir/beliebigeseite.htm">

      warenkorb.pl soll eine Referenz auf beliebigeseite.htm im gleichen Verzeichnis enthalten?

      <a href="beliebigeseite.htm">

      The requested URL /subdir/cgi-bin/warenkorb.pl/subdir/cgi-bin/gaestebuch.pl was not found on this server.

      das ist kein Rätsel, das ist ja wohl logisch, du hast doch nicht die Verzeichnisstruktur:

      /subdir/cgi-bin/warenkorb.pl (<- warenkorb.pl ist doch kein Verzeichnis mit Unterverzeichnis subdir/cgi-bin/gaestebuch.pl)

      ich denke, du solltest mal den Unterschied zwischen Dateien und Verzeichnissen und deren Verschachtelungen studieren, so auf den ersten Blick machst du da Mist....

      hmm - sieht so aus, als sei Deine globale Variable mit der Pfadangabe ein zweites Mal überschrieben worden. Genau das passiert mir auch immer wieder. Pfadangaben solltest du immer wieder neu generieren nach dem Muster $url = $globalerpfad, dann $url .= "verweis".

      Gruß

      Daniel

  2. Das ist ein PureTec Problem nach der Umstellung oder?
    Ich habe dort derzeit die gleichen Probleme.
    HTML-Seiten werden nicht gefunden, die eindeutig richtig abgelegt sind, Perl-Scripte werden vom Server nicht gefunden, die ebenfalls korrekt programmiert und abgelegt sind.

    Ich habe auf meinem Webserver u.a folgende Ordner/Dateien:

    Domain: http://www.domain.de
    http://www.domain.de/subdir/...alle HTML-Seiten...
    http://www.domain.de/subdir/cgi-bin
    http://www.domain.de/subdir/cgi-bin/gaestebuch.pl
    http://www.domain.de/subdir/cgi-bin/warenkorb.pl
    http://www.domain.de/subdir/cgi-bin/beliebigeseite.htm

    "gaestebuch.pl" und "warenkorb.pl" sind Perl-Skripts, die Berechnungen
    durchführen, eine Seite generieren und diese dann zurückgeben.

    "beliebigeseite.htm" enthält einen Link auf "gaestebuch.pl", man
    klickt drauf und das Gästebuch wird dargestellt, soweit kein Problem.

    Ich möchte nun aber folgendes: alle Seiten z.B. "beliebigeseite.htm",
    aber auch die Gästebuchseite, die duch "gaestebuch.pl" erzeugt wird,
    enthalten Links auf "warenkorb.pl", und weil man vom Warenkorb immer
    leicht zur vorigen Seite zurückkehren können soll, enthält die Seite,
    die "warenkorb.pl" erzeugt, einen Link "ZURÜCK".

    Rufe ich z.B. von "beliebigeseite.htm" "warenkorb.pl" auf, mache ich
    das so:

    <a href="/subdir/cgi-bin/warenkorb.pl/subdir/beliebigeseite.htm">

    Die Pfadinformation "/subdir/beliebigeseite.htm" lese ich dann in
    "warenkorb.pl" mit der ENV-Variablen "PATH_INFO" aus, um einen Link zu
    konstruieren, mit dem ich zu "beliebigeseite.htm" zurückspringen kann,
    das klappt auch wunderbar.

    Allerdings: Rufe ich "warenkorb.pl" von der Seite auf, die von
    "gaestebuch.pl" erzeugt wird, meldet der Server:

    The requested URL /subdir/cgi-bin/warenkorb.pl/subdir/cgi-bin/gaestebuch.pl was not found on this server.

    Das ist mir rät-sel-haft, es ist doch alles genauso wie im vorigen
    Beispiel, nur, daß die Pfadinfo im zweiten Beispiel das cgi-bin-Directory
    dazwischenhat.

    Übrigens: Lokal auf meinem PC besteht das Problem nicht. Allerdings sind
    auf dem PC unter MS Personal Webserver die Verzeichnisse "subdir" und
    "cgi-bin" als virtuelle Verzeichnisse eingerichtet:

    C:\WEBSHARE\WWWROOT\subdir              /subdir  
    C:\WebShare\wwwroot\subdir\cgi-bin      /subdir/cgi-bin

    Gruß an alle...

    Achim.