ホームページ >バックエンド開発 >PHPチュートリアル >CORS 構成: .htaccess と PHP - どちらのアプローチが最適ですか?
.htaccess の CORS 構成: 明確化と代替アプローチ
RESTful Web サービスで CORS アクセスを有効にするには、.htaccess を使用して CORS アクセスを構成します。一般的なアプローチ。ただし、課題が発生した場合、または別の解決策を希望する場合は、この記事で両方のオプションを検討します。
1. .htaccess 構成 (拡張機能あり):
.htaccess で CORS を正常に構成するには、基本的な Access-Control-Allow-Origin ヘッダーに加えて次の要素が含まれていることを確認してください:
Header set Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
この行は、CORS リクエストに許可される HTTP メソッドを指定します。
2. PHP でのサーバー側の構成:
PHP で CORS ヘッダーを設定したい場合 (Slim などの PHP フレームワークを使用していると仮定して)、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']}"); }
Slim ユーザーの場合は、HTTP 200 応答で OPTIONS リクエストを処理するために次のルートを追加します:
$app->map('/:x+', function($x) { http_response_code(200); })->via('OPTIONS');
これらのアプローチにより、CORS の問題が解決されるはずです。特定のアプリケーションのニーズに合わせて設定を調整してください。
以上がCORS 構成: .htaccess と PHP - どちらのアプローチが最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。