Post Methode geht nicht
Tobias
- webserver
Hallo,
ich benutze seit kurzen den Apache und heut hab ich beim Versuch die POST-Methode zu verwenden folgenden Meldung erhalten:
The requested method POST is not allowed for the URL /FoxServ/Apache/Validator/htdocs/check
Wie krieg ich das hin das es eben doch 'allow'ed ist.
Danke
Tobias
Moin!
Wenn ich schon "FoxServ" lese, dann weiss ich, daß Du womöglich noch keinen Blick in die httpd.conf geworfen hast. Genau in der liegt der Hund begraben.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo,
Wenn ich schon "FoxServ" lese, dann weiss ich, daß Du womöglich noch keinen Blick in die httpd.conf geworfen hast. Genau in der liegt der Hund begraben.
Foxserv war nur als Einstieg. Inzwischen hab ich ne andere Apache Version draufgesppielt und Perl aktualisiert. (Und die startdatei von FoxServ rühre ich gar nicht mehr an)
Mit der httpd.conf hab ich mich schon ne ganz menge mit rumgeärgert. Mir ist klar das da irgendetwas geändert/ergänzt werden muss.
Nur was??
Nochmals Danke
Tobias
http://www.tobiasklare.de
fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
Moin!
Du siehst, der Christoph Schnauß kann Dir bei dem Thema viel besser helfen als ich. Also bist Du sicher nicht traurig, daß ich mich zurückhalte.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
hallo Tobias,
ich benutze seit kurzen den Apache und heut hab ich beim Versuch die POST-Methode zu verwenden folgenden Meldung erhalten:
The requested method POST is not allowed for the URL /FoxServ/Apache/Validator/htdocs/check
Wie krieg ich das hin das es eben doch 'allow'ed ist.
Es wäre schön, wenn man erfahren könnte, _wie_ du das versucht hast. Normalerweise findest du in den logs die Angabe GET für ausgelieferte HTML-Dokuemnte (und auchanderes), POST steht dort, wenn beispielsweise ein PERL-Script aus dem cgi-bin-Verzeichnis aufgerufen wurde. Falls du es also mit einem PERL-Script probiert hast, sollte das eigentlich im cgi-bin liegen (es sei denn, du hast deinen Apache anders konfiguriert), du fragst aber ein anderes Verzeichnis ab, für das höchstwahrscheinlich kein ExecCGI gesetzt ist.
Daher ist es wichtig, zu erfahren, wie du versucht hast, "POST" auszulösen.
Grüße aus Berlin
Christoph S.
Hallo,
ja ich habe das aus einem PerlScript aus versucht.
Ich versuch grade den Validator offline zum laufen zu bringen (http://www.bjoernsworld.de/html/validator-offline.html)
Tobias
hallo Tobias,
ja ich habe das aus einem PerlScript aus versucht.
Dann kann dein Apache (noch) kein PERL. Eventuell hilft dir http://aktuell.de.selfhtml.org/artikel/server/apacheconf/index.htm weiter.
Ich versuch grade den Validator offline zum laufen zu bringen (http://www.bjoernsworld.de/html/validator-offline.html)
Ich habe das Teil noch nie ausprobiert und kann dazu nichts sagen.
Grüße aus Berlin
Christoph S.
Hallo,
Dann kann dein Apache (noch) kein PERL. Eventuell hilft dir http://aktuell.de.selfhtml.org/artikel/server/apacheconf/index.htm weiter.
Doch, wie gesagt. Solche teile die am Ende "Hallo Welt" ausgeben funzen!
Tobias
hallo Tobias,
Solche teile die am Ende "Hallo Welt" ausgeben funzen!
Naja, aber vorhin hattest du angegeben:
ExecCGI ist gesetzt. Zumindestens funzen PerlScripts auch außerhalb des cgi-bin!
_Das_ soll eigentlich nicht sein. Gibt es denn einen Alias für den Pfad zum PERL-Interpreter und/oder für dein cgi-bin?
Und wenn du erfreulicherweise FoxServ wieder fortgeworfen hast, solltest du auf diesen Namen in deinem Pfad auch konsequenterweise verzichten.
Welche Apache-Version hast du überhaupt?
(Und, auf einen vagen Verdacht hin: welches Betriebssystem?)
Grüße aus Berlin
Christoph S.
_Das_ soll eigentlich nicht sein. Gibt es denn einen Alias für den Pfad zum PERL-Interpreter und/oder für dein cgi-bin?
ScriptAlias /cgi-bin/ "E:/FoxServ/Apache/cgi-bin/"
ScriptAlias /pl/ "E:/FoxServ/Apache/cgi-bin/"
(Ich hoffe das sind die Angaben, steh noch nicht so lange in der Materie)
Und wenn du erfreulicherweise FoxServ wieder fortgeworfen hast, solltest du auf diesen Namen in deinem Pfad auch konsequenterweise verzichten.
Wird bei gelegenheit gemacht!
Welche Apache-Version hast du überhaupt?
1.3
Ich weiß es gibt ne neuere aber da gab es anscheinend kompatibilitäts problem mit dem php4 modul
(Und, auf einen vagen Verdacht hin: welches Betriebssystem?)
Win98
Tobias
upsala ...
Das Wichtigste zuerst:
(Und, auf einen vagen Verdacht hin: welches Betriebssystem?)
Win98
Da ist Apache 1.3.x (hoffentlich 1.3.28) schon richtig. Mit 2.0.x würdest du etwas mehr Konfigurationsprobleme bekommen.
ABER: du _kannst_ auf einem Windows-Rechner keinen Pfad (URL) in der von dir angegebenen Form
/FoxServ/Apache/Validator/htdocs/check
verwenden. Wo und wie hast denn diesen URL eingegeben?
Ich habe nach dem Betriebssystem gefragt, weil nach dieser "URL"-Angabe eher zu vermuten stand, daß du irgendein LINUX fährst.
ScriptAlias /cgi-bin/ "E:/FoxServ/Apache/cgi-bin/"
Das dürfte in Ordnung gehen.
ScriptAlias /pl/ "E:/FoxServ/Apache/cgi-bin/"
Aber das hat mit hoher Wahrscheinlichkeit überhaupt keine Bedeutung (nach deiner Fragestellung traue ich dir das jedenfalls nicht zu)
(Ich hoffe das sind die Angaben, steh noch nicht so lange in der Materie)
Ja, das sind einige der gewünschten Angaben, aber noch nicht alle. Es fehlt noch
AddHandler cgi-script .cgi .pl .exe .bat (oder ähnlich)
Wird bei gelegenheit gemacht!
Die Gelegenheit hast du _jetzt_! Deine (ehemalige) FoxServ-Installation hat mit Sicherheit irgendwelche "Leichen" hinterlassen, auch in der registry. Auch wenns schmerzlich klingt: Wirf bitte erst nochmal das gesamte FoxServ-Zeugs weg und installiere dir deinen Apache und dein PERL neu - das gibts ja bei den Herstellern kostenlos zum Download. FoxServ hat dir höchstwahrscheinlich auch eine httpd.conf hinterlassen, in der manches steht, was nur FoxServ benötigt (ich bin mir da nicht ganz sicher).
Ich kann nach diesen Angaben nicht glauben, daß dir ein PERL-Script, das du über deinen Apache aufzurufen versucht hast, tatsächlich eine _Scriptantwort_ geliefert haben soll, nicht einmal "hallo Welt".
Kompatibilitätsprobleme mit PHP (3,4 und 5beta) sind mir für Apache 2.0.x nicht bekannt, allerdings hab ichs nicht mehr auf Win98 probiert.
Grüße aus Berlin
Christoph S.
Moin,
ABER: du _kannst_ auf einem Windows-Rechner keinen Pfad (URL) in der von dir angegebenen Form
/FoxServ/Apache/Validator/htdocs/check
verwenden. Wo und wie hast denn diesen URL eingegeben?
Ich habe nach dem Betriebssystem gefragt, weil nach dieser "URL"-Angabe eher zu vermuten stand, daß du irgendein LINUX fährst.
Christoph, bitte! Der Pfadtrenner in HTTP-URLs ist schon immer der Slash gewesen. Der einzige (naja, gerüchteweise gesellt sich Opera dazu) Browser da draussen, der auf die kaputte Idee kommt, einen Backslash als Pfadtrenner zu verwenden ist der Internet Explorer. Und selbst der setzt den Backslash vor der Übergabe an den Webserver in einen Slash um.
Warum hat eigentlich noch niemand nach dem ErrorLog gefragt? Üblicherweise steht dort ganz genau drin aus welchem Grund der Apache meint den Request verbieten zu müssen.
hallo Henryk,
Der Pfadtrenner in HTTP-URLs ist schon immer der Slash gewesen.
Das weiß ich auch. Aber ich habe halt den vagen, wenn auch nicht ganz unbegründeten Verdacht, daß es sich keineswegs um einen "URL" handelt, sondern um irgendeine Scripteingabe. Daher die erneute Nachfrage nach dem "wo und wie", die noch nicht beantwortet ist.
Der einzige (naja, gerüchteweise gesellt sich Opera dazu) Browser da draussen, der auf die kaputte Idee kommt, einen Backslash als Pfadtrenner zu verwenden ist der Internet Explorer.
Nö.
Und selbst der setzt den Backslash vor der Übergabe an den Webserver in einen Slash um.
Eben.
Warum hat eigentlich noch niemand nach dem ErrorLog gefragt? Üblicherweise steht dort ganz genau drin aus welchem Grund der Apache meint den Request verbieten zu müssen.
Wenn du dir den Thread genau anschaust, wirst du sehen, daß das wahrscheinlich noch keine verwertbare Aussage bringt. Der Apache wird _wahrscheinlich_ noch gar nicht gefragt, ob er irgendwas tun soll.
Grüße aus userland
Christoph S.
Moin,
Das weiß ich auch. Aber ich habe halt den vagen, wenn auch nicht ganz unbegründeten Verdacht, daß es sich keineswegs um einen "URL" handelt, sondern um irgendeine Scripteingabe.
Und aus welchem Grund sollte dann bitte "URL" davorstehen? Weil der Apache einfach mal so irgendwohin lustige Abkürzungen schreibt damit es professioneller aussieht?
Wenn du dir den Thread genau anschaust, wirst du sehen, daß das wahrscheinlich noch keine verwertbare Aussage bringt. Der Apache wird _wahrscheinlich_ noch gar nicht gefragt, ob er irgendwas tun soll.
Hmm, wie hat er dann die Fehlermeldung generieren können? Und ja, das ist der Standardtext der zu einem 405-Code gehört.
hallo Henryk,
Und aus welchem Grund sollte dann bitte "URL" davorstehen? Weil der Apache einfach mal so irgendwohin lustige Abkürzungen schreibt damit es professioneller aussieht?
Der Apache selber schreibt "sowas" überhaupt nicht, wie du weißt. Aber _Tobias_ hat das irgendwohin geschrieben, und tatsächlich auch irgendeine Reaktion erfahren.
Hmm, wie hat er dann die Fehlermeldung generieren können?
Die zitierte Fehlermeldung lautete:
The requested method POST is not allowed for the URL /FoxServ/Apache/Validator/htdocs/check
Die sieht er in dieser Form im Browser (wo Tobias sie abgeschrieben hat), und tatsächlich sollte sie auch in der error.log drinstehen. Daher erübrigte sich bisher eine gesonderte Nachfrage nach den Apache-logs.
Diese Fehlermeldung wird _in der Regel_ erzeugt, wenn der angefragte URL in der Adreßzeile des Browsers eingetragen wird und also tatsächlich ein "URL" ist. Es gibt aber noch andere Wege, zu so einer Fehlermeldung zu kommen. Und genau das wollte ich noch erfragen.
Christoph S.
Moin,
Der Apache selber schreibt "sowas" überhaupt nicht, wie du weißt. Aber _Tobias_ hat das irgendwohin geschrieben, und tatsächlich auch irgendeine Reaktion erfahren.
Huch? Bitte sag das nicht meinem Apachen dass er keine Fehlermeldungen mehr über TCP-Sockets rausschreiben darf! ;-)
Die sieht er in dieser Form im Browser (wo Tobias sie abgeschrieben hat), und tatsächlich sollte sie auch in der error.log drinstehen. Daher erübrigte sich bisher eine gesonderte Nachfrage nach den Apache-logs.
Jain. Hin und wieder findet sich im Errorlog eine zusätzliche Angabe, wie "Request denied by server configuration" oder so. Ich erinnere mich dunkel dass ich den 405 auch mal im Zusammenhang mit meiner lokalen Installation des Validators hatte, weiss aber nicht mehr was da war.
Tobias: hast du denn auch die anderen Einstellungen in deine apache.conf (oder wie immer die bei dir heisst) getan? Ich rede von Options +ExecCGI und SetHandler cgi-script. Nur ein Script-Alias auf ein wildfremdes Verzeichnis reicht natürlich nicht. Beim Validator war IIRC ein Beispiel-Fragment bei dass sich nach geringen Modifikationen der Pfade nutzen liess.
Diese Fehlermeldung wird _in der Regel_ erzeugt, wenn der angefragte URL in der Adreßzeile des Browsers eingetragen wird und also tatsächlich ein "URL" ist. Es gibt aber noch andere Wege, zu so einer Fehlermeldung zu kommen. Und genau das wollte ich noch erfragen.
Hmm, das interessiert mich jetzt doch welche anderen Wege das sein könnten.
wow, Henryk ;-)
jetzt _willst_ du mich mißverstehen:
Der Apache selber schreibt "sowas" überhaupt nicht
Huch? Bitte sag das nicht meinem Apachen dass er keine Fehlermeldungen mehr über TCP-Sockets rausschreiben darf! ;-)
An dieser Stelle gings nicht um die Fehlermeldung, sondern um den "URL". Selbstverständlich schriebt dein Apache gaz brav seine Fehlermeldungen weiterhin entsprechend den Vorgaben, die er in der httpd.conf findet
Es gibt aber noch andere Wege, zu so einer Fehlermeldung zu kommen. Und genau das wollte ich noch erfragen.
Hmm, das interessiert mich jetzt doch welche anderen Wege das sein könnten.
Ein PERL-Script, oder .htacces, oder irgendwas Unbekanntes, was _möglicherweise_ von FoxServ erzeugt wird (das weiß ich aber nicht genau) ...
nachbarschaftliche Grüße (falls du grade in Berlin bist)
Christoph S.
hi ;-)
hab eben noch etwas vergessen:
Ich finde es beruhigend, daß ich in dir einen der verläßlichsten und ernsthaftesten Kritiker habe. Bloß dieses "Christoph, bitte!" solltest du gelegentlich variieren, mich erinnert es zu sehr an "alsowiebitte".
Christoph S.
Achso,
ExecCGI ist gesetzt. Zumindestens funzen PerlScripts auch außerhalb des cgi-bin!