Michael Schröpl: apache und method=post

Beitrag lesen

Method not allowed
The requested method POST is not allowed for the URL /cgi-bin/main.pl
Hast du diese Tips schon probiert? http://www.teamone.de/cgi-local/sfasuch.pl?suchausdruck="requested+method+POST+is+not+allowed"&case=on&feld=alle&hits=alle

Ich bin gerade man über diese 10 Treffer drübergegangen,
aber so richtig überzeugt hat mich eigentlich keiner
davon.

Deshalb zunächst einmal das klassische "RTFM":
http://www.apache.org/docs/misc/FAQ.html#POSTnotallowed
Du bist nämlich nicht der erste, der das erlebt. ;-)

Eine explizite Definition in dieser Hinsicht habe ich
bei mir auch nicht.
Ich habe gerade mal versuchsweise via telnet (!) einen
POST-request wahlweise auf ein CGI-Skript (in "cgi-bin")
und auf die Dokumentwurzel "/" meines Servers
(Apache 1.3.11, WinNT) geschickt.

Ergebnis:

  • POST auf das Skript funktioniert,
  • POST auf "/" sendet mir einen HTTP-Error 405
      ("Method not allowed") und einen "Accept"-Header
      zurück, in dem steht, daß für diesen URL nur
      GET, HEAD, OPTIONS und TRACE erlaubt sind.
    Das kannst Du auch im "access_log" nachvollziehen, dort
    steht dann ungefähr drin:

pc_ms - - [07/Apr/2000:14:25:05 +0200] "POST / HTTP/1.0" 405 297

Es *könnte* also sein, daß die Menge der erlaubten
Zugriffsverfahren einfach als Seiteneffekt der
Deklaration des CGI-Verzeichnisses ("ScriptAlias")
gesetzt wird ... hm ... so ganz explizit steht das
im entsprechenden Kapitel leider auch nicht drin.

Deshalb: Poste doch mal, *wie* Du Dein "cgi-bin"
deklariert hast.