CSS in separater Datei

Alles, was Perl betrifft, kann hier besprochen werden.

CSS in separater Datei

Postby max1 » 18. May 2008 10:44

Hallo

Ich verwendet xampp mit Perl-AddOns unter Windows 2000. Das Perl-Skript und eine für meine Frage bedeutsame Datei "format.css" sind unter c:/xampp/cgi-bin/ gespeichert. Das Perl-Skript bewirkt die Ausgabe eines Texts (Html-Seite) im Browser, wobei dieser Text mit CSS formatiert wird und die CSS-Formate in der separaten Datei "format.css" definiert sind. Der widergegebene Text enthält, wie im Quelltext des Browsers ersichtlich, die nachfolgende Zeile:

<link rel="stylesheet" type="text/css" href="format.css">

Das Problem: Die in der Datei "format.css" definierten CSS-Formate werden nicht ausgeführt.

Ich habe verschiedenes erfolglos ausprobiert:

- Mit zentral (also nicht in separater Datei) definierten CSS-Formaten werden diese korrekt ausgeführt.

- Den Pfad auf "c:/xampp/cgi-bin" oder "c:\xampp\cgi-bin" zu setzen, hilft nicht.

- Bei sonstigen Perl-Befehlen, beispielsweise "opendir" wird der "format.css" entsprechende Pfad erkannt.

- Derselbe Text als *.html-Datei mit format.css unter htdocs gespeichert erkennt die CSS-Formate korrekt (darum unterbreite ich das Problem in diesem Forum).


Meine Fragen: Wo liegt der Fehler? Wie lässt er sich beheben?

Für Rat danke ich im Voraus.
Freundliche Grüsse
max1
max1
 
Posts: 5
Joined: 18. May 2008 10:14

Ergänzende Angabe

Postby max1 » 18. May 2008 10:51

Zu meinen erfolglosen Versuchen, das Problem zu beheben, ergänze ich noch folgendes:

Bei Aufruf eines entsprechenden Perl-Skripts vom Server, also online oder nicht lokal, werden die CSS-Formate aus separater Datei korrekt erkannt und ausgeführt.

max1
max1
 
Posts: 5
Joined: 18. May 2008 10:14

Postby Wiedmann » 18. May 2008 10:55

Das Perl-Skript und eine für meine Frage bedeutsame Datei "format.css" sind unter c:/xampp/cgi-bin/ gespeichert.

Der Server versucht alle Dateien im Verzeichnis "cgi-bin" eben als CGI auszuführen, wenn sie mit einem Browser aufgerufen werden. MIt einer CSS-Datei funktinoiert das nicht (ist ja kein CGI Script).

Eigentlich solltest im error.log deswegen Einträge haben (oder sehen, wenn du die CSS-Datei direkt im Browser aufrufst)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Und wie lässt sich das Problem lösen?

Postby max1 » 18. May 2008 11:37

In error.log steht folgende Eintragung:

[Sun May 18 12:30:48 2008] [error] [client 127.0.0.1] (9)Bad file descriptor: don't know how to spawn child process: C:/xampp/cgi-bin/format.css, referer: http://localhost/cgi-bin/index.pl

Es scheint also zuzutreffen, dass versucht wird, format.css als Perl-Sript auszuführen.

Ich habe noch folgenden erfolglosen Versuch unternommen, und zwar habe ich format.css unter htdocs gespeichert und als Pfad ../htdocs/format css angegeben.

Wie lässt sich das Problem lösen? Wenn ich dasselbe Perlskript über den Server meines Providers aufrufe, so wird, wie ich bereits erwähnt hatte, die separate CSS-Datei erkannt und korrekt ausgeführt. Gibt es unter lokal betriebenem Apache-Server eine Lösung?

max1
max1
 
Posts: 5
Joined: 18. May 2008 10:14

Postby Xardas der Dunkle » 18. May 2008 11:40

Lass mal das htdocs weg.
Du musst zwischen 2 Pfadtypen unterscheiden! Der eine ist der lokale Pfad auf deinem PC/Server, der andere ist der Pfad der für den Benutzer deiner Seite ersichtlich ist.
Für den Benutzer liegt der Ordner cgi-bin nämlich unterhalb von htdocs und nicht oberhalb, wie es in echt ist ;).
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Problem gelöst!

Postby max1 » 18. May 2008 11:56

Damit ist das Problem gelöst.

1.
format.css in htdocs speichern.

2.
../format.css als Pfad angeben, also:

<link rel="stylesheet" type="text/css" href="../format.css">

Herzlichen Dank für die Hilfe.
max1
max1
 
Posts: 5
Joined: 18. May 2008 10:14


Return to Perl

Who is online

Users browsing this forum: No registered users and 3 guests