Um eine richtige Testsuite für CORS (domänenübergreifende Anfragen) einzurichten, muss ich in der Lage sein, die HTTP OPTIONS-Methode direkt aus dem Skript zu bedienen. Ich habe daher ein einfaches PHP-Skript, das die OPTIONS-Methode erkennt und entsprechend reagiert, indem es einige spezifische Header ausgibt.Wie konfiguriert man Apache, damit PHP OPTIONS-HTTP-Anfragen verarbeiten kann?
Die PHP-Seite ist kein Problem. Wenn ich curl verwende, um GET/POST/HEAD/PUT/etc. Bitten sie alle um das Skript und es behandelt sie klar gut. Wenn ich jedoch eine OPTIONS-Anfrage erstelle, erreicht sie niemals das Skript: Apache gibt sofort eine Liste von Methoden zurück, die ihrer Meinung nach für diese Ressource geeignet sind. Ich kann sagen, dass das Skript nicht ausgeführt wird (keine Protokollierung, keine seiner Ausgaben macht es zur Antwort, etc.).
Ich habe die Apache-Konfiguration durchlaufen, habe sichergestellt, dass kein anwendbares .htaccess im Weg ist, ich habe eine Menge Dinge wie Limit/LimitExcept Direktiven optimiert, aber ich kann es nicht ändern sein Verhalten. Ich habe auch versucht, Informationen über eine Technik aus meiner Jugend zu finden, die hier hätten helfen können: NPH-Skripte (nicht geparste Header); aber anscheinend ist das jetzt verschwunden (zumindest kann ich keine neuen Informationen darüber finden, die funktionieren).
Die Frage ist also: Wie optimiere ich die Konfiguration von Apache, damit mein Skript mit OPTIONS umgehen kann?
Dies sollte nur funktionieren - solange Sie kein LIMIT haben oder einen speziellen Handler für OPTIONS aktiviert haben. Aber a) wir müssten Ihre .conf-Datei sehen, und zweitens gehört dies zu einem Serverfehler. Wird vorschlagen, es zu migrieren, aber hinzufügen .conf-Datei in der Zwischenzeit. – Robbie
Ich hätte die .conf hinzugefügt, aber es ist eine weitläufige Konfiguration, die eine Menge Dinge tun muss (eine Menge Konfigurationsvarianz ist zum Testen erforderlich). Mein nächster Schritt ist, das zu halbieren, bis es funktioniert, aber ich habe auf Leads gehofft, bevor ich dazu muss, da es kein kleines Unternehmen ist. –