Maison > Article > développement back-end > Configuration CORS : .htaccess vs PHP – Quelle approche vous convient le mieux ?
Configuration CORS pour .htaccess : clarification et approche alternative
Pour activer l'accès CORS dans votre service Web RESTful, le configurer via .htaccess est une approche commune. Cependant, si vous rencontrez des difficultés ou préférez une solution alternative, cet article explore les deux options.
1. Configuration .htaccess (avec améliorations) :
Pour configurer avec succès CORS dans .htaccess, assurez-vous d'inclure les éléments suivants en plus de l'en-tête de base Access-Control-Allow-Origin :
Header set Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
Cette ligne spécifie les méthodes HTTP autorisées pour les requêtes CORS.
2. Configuration côté serveur en PHP :
Si vous préférez définir les en-têtes CORS en PHP (en supposant que vous utilisez un framework PHP comme Slim), voici comment procéder dans votre script index.php :
// 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']}"); }
Pour les utilisateurs Slim, ajoutez cette route pour gérer les requêtes OPTIONS avec des réponses HTTP 200 :
$app->map('/:x+', function($x) { http_response_code(200); })->via('OPTIONS');
Ces approches devraient résoudre vos problèmes CORS. N'oubliez pas d'ajuster les paramètres en fonction des besoins spécifiques de votre application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!