CORS-Konfiguration für .htaccess: Klarstellung und alternativer Ansatz
Um den CORS-Zugriff in Ihrem RESTful-Webdienst zu aktivieren, müssen Sie ihn über .htaccess konfigurieren ein gemeinsamer Ansatz. Wenn Sie jedoch auf Herausforderungen stoßen oder eine alternative Lösung bevorzugen, werden in diesem Artikel beide Optionen untersucht.
1. .htaccess-Konfiguration (mit Verbesserungen):
Um CORS in .htaccess erfolgreich zu konfigurieren, stellen Sie sicher, dass Sie zusätzlich zum grundlegenden Access-Control-Allow-Origin-Header die folgenden Elemente einschließen:
Header set Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
Diese Zeile gibt die zulässigen HTTP-Methoden für CORS-Anfragen an.
2. Serverseitige Konfiguration in PHP:
Wenn Sie CORS-Header lieber in PHP festlegen möchten (vorausgesetzt, Sie verwenden ein PHP-Framework wie Slim), können Sie dies wie folgt in Ihrem index.php-Skript tun :
// Allow from any origin if (isset($_SERVER['HTTP_ORIGIN'])) { // Do additional checks to restrict origins as needed header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // Cache for 1 day } // Handling OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); }
Fügen Sie für Slim-Benutzer diese Route hinzu, um OPTIONS-Anfragen mit HTTP 200-Antworten zu verarbeiten:
$app->map('/:x+', function($x) { http_response_code(200); })->via('OPTIONS');
Diese Ansätze sollten Ihre CORS-Probleme lösen. Denken Sie daran, die Einstellungen an die Anforderungen Ihrer spezifischen Anwendung anzupassen.
Das obige ist der detaillierte Inhalt vonCORS-Konfiguration: .htaccess vs. PHP – Welcher Ansatz ist der richtige für Sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!