cgi-server wird nicht gefunden... oder so ähnlich
marcus
- cgi
0 Fabian Transchel0 SabineP0 Amor
Hallo Leute!
Ich hab ja keinen blassen dunst von CGI, auch wenn ich generell weiß, wie Daten aus Formularen verschickt werden etc.
Folgendes: Ein Formular auf server A schickt Daten über die <form action="http://blabla/formmail.cgi">
an Server B. Soweit zumindest, wenn man sich den Quelltext ansieht.
ABER:
Wenn man auf 'Submit' klickt, heißt es:
"HTTP Fehler 404
404 Nicht gefunden
Der Webserver kann die von Ihnen verlangte Datei oder das von Ihnen verlangte Skript nicht finden. Prüfen Sie bitte den URL, um sicherzustellen, dass der Pfad korrekt ist.
Setzen Sie sich bitte mit der Verwaltung des Webservers in Verbindung, wenn das Problem fortbesteht."
Wenn ich die Adresse des cgi-scripts alleine in die Adresszeile stecke, erhalte ich:
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, office@servername.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log."
Tja nun hab ich keinen Zugriff, weder auf das script noch auf die log-Dateien, aber mir ist gesagt worden, dass Mit dem Script und dem Server alles in Ordnung sei.
Woran kann es dann aber liegen? Warum funktioniert der Zugriff auf das script nicht? Und Warum bekomme ich über den Submitbutton eine andere Mendung als wenn ich das script direkt anspreche? Erstere meint ja, dass NIX zu finden ist.. keine Adresse, kein server, garnichts. Im zweiten Fall wird die Fehlermeldung wahrscheinlich nur deshalb so sein, weil keine Daten mitgeschickt werden bzw. weil es nichts gibt, was von dem script im Browser angezeigt werden könnte. Allerdings ist aus der zweiten Fehlermeldung ersichtlich dass Server und script existieren.
Nochwas, wer schickt die Daten aus dem Formular effektiv an den server B? Mein client oder der Server A? Wenn zweiteres, könnte der server A einen Grund haben, http://blabla/formmail.cgi nicht erreichen zu können???? Ansonsten, woran kann es liegen, dass der zugriff nicht funktioniert?
:-| marcus
Hallo Leute!
moin
Ich hab ja keinen blassen dunst von CGI, auch wenn ich generell weiß, wie Daten aus Formularen verschickt werden etc.
macht nix, deswegen fragst du ja
Folgendes: Ein Formular auf server A schickt Daten über die <form action="http://blabla/formmail.cgi">
an Server B. Soweit zumindest, wenn man sich den Quelltext ansieht.
soweit schlüssig
ABER:
Wenn man auf 'Submit' klickt, heißt es:
"HTTP Fehler 404
404 Nicht gefunden
selbstredent, das script ist schlicht nicht funktionsfähig
Der Webserver kann die von Ihnen verlangte Datei oder das von Ihnen verlangte Skript nicht finden. Prüfen Sie bitte den URL, um sicherzustellen, dass der Pfad korrekt ist.
url prüfen, ich gehe mal davon aus, dass du da keinen fehler gemacht hast
Setzen Sie sich bitte mit der Verwaltung des Webservers in Verbindung, wenn das Problem fortbesteht."
hast du (siehe unten...) wohl auch gemacht
Wenn ich die Adresse des cgi-scripts alleine in die Adresszeile stecke, erhalte ich:
aufpassen, das ist der teil, der die gesamten wichtigen infos enthält:
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, office@servername.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log."
offensichtlich ist wohl, dass das script eben NICHT funktioniert und deswegen der server die HTTP-404 versendet (müsste eigentlich die http-500 sein...)
Tja nun hab ich keinen Zugriff, weder auf das script noch auf die log-Dateien, aber mir ist gesagt worden, dass Mit dem Script und dem Server alles in Ordnung sei.
einer redet hier stuss, und aufgrund der hier vorgestellten fehlermeldungen gehe ich davon aus, dass das formular funktioniert, das script aber eben nicht...
Woran kann es dann aber liegen? Warum funktioniert der Zugriff auf das script nicht? Und Warum bekomme ich über den Submitbutton eine andere Mendung als wenn ich das script direkt anspreche? Erstere meint ja, dass NIX zu finden ist.. keine Adresse, kein server, garnichts. Im zweiten Fall wird die Fehlermeldung wahrscheinlich nur deshalb so sein, weil keine Daten mitgeschickt werden bzw. weil es nichts gibt, was von dem script im Browser angezeigt werden könnte. Allerdings ist aus der zweiten Fehlermeldung ersichtlich dass Server und script existieren.
richtig. script ist da und funktioniert ... nicht
Nochwas, wer schickt die Daten aus dem Formular effektiv an den server B? Mein client oder der Server A? Wenn zweiteres, könnte der server A einen Grund haben, http://blabla/formmail.cgi nicht erreichen zu können???? Ansonsten, woran kann es liegen, dass der zugriff nicht funktioniert?
der client macht das, weil dort das formular ausgeführt wird.
:-| marcus
ich glaube ernsthaft, dass das cgi nicht richtig funktioniert, oder aber du einen parameter vergessen hast, was dennoch unwahrscheinlich ist, ich denke der INTERNAL SERVER ERROR spricht für sich
Fabian
wär nett, wenn du mal die url schicken könntest, damit wir uns das auch anschauen können...
Hallo,
Wenn ich so ein Script, daß eigentlich für die Formulardatenauswerten bestimmt ist, direkt mit der URI im Browser aufrufe, ist irgendwie klar, daß ein Internal Server Error kommt, da das Script höchstwahrscheinlich keinen Header ausgibt (wozu auch ?)
Hallo Leute!
Folgendes: Ein Formular auf server A schickt Daten über die <form action="http://blabla/formmail.cgi">
an Server B. Soweit zumindest, wenn man sich den Quelltext ansieht.
ABER:
Wenn man auf 'Submit' klickt, heißt es:
"HTTP Fehler 404
404 Nicht gefunden
Wenn ich die Adresse des cgi-scripts alleine in die Adresszeile stecke, erhalte ich:
"Internal Server Error
Wie sieht das Formular denn genau aus?
Nochwas, wer schickt die Daten aus dem Formular effektiv an den server B? Mein client oder der Server A? Wenn zweiteres, könnte der server A einen Grund haben, http://blabla/formmail.cgi nicht erreichen zu können???? Ansonsten, woran kann es liegen, dass der zugriff nicht funktioniert?
Die Formular-Daten schickt der Browser direkt an http://blabla/formmail.cgi
:-| marcus
Grüße von SabineP
laufen auf diesem Server CGI?
meistens gibt es dann ein cgi-bin verzeichnis
eingespielte CGI müssen das attribut 755 erhalten sonst kommt fehlermeldung 404 server error.
noch wichtig , die CGI müssen im Textmodus auf den Server übertragen werden.
am besten mit einem einfachen CGI testen
das Beispiel liest die Variablen des Servers
#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Umgebungsvariablen</title></head><body>\n";
print "<h1>Umgebungsvariablen:</h1>\n";
print "<table border=\"1\">\n";
print "<tr><th align=\"left\" bgcolor=\"#E0E0E0\">Variablenname</th>",
"<th align=\"left\" bgcolor=\"#E0E0E0\">Wert</th></tr>\n";
foreach(keys(%ENV)) {
print "<tr><td><b>$\_</b></td><td><tt>$ENV{$\_}</tt></td></tr>\n";
}
print "<tr><th align=\"left\" bgcolor=\"#E0E0E0\" colspan=\"2\">insgesamt: ",
scalar keys(%ENV)," Umgebungsvariablen</th></tr>\n";
print "</table>\n";
print "</body></html>\n";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Amor