在.htaccess 中為Slim PHP 框架啟用CORS
為使用建立的RESTful 服務啟用跨域資源共享(CORS) SLIM PHP框架,常用的是對.htaccess檔案的修改。但是,如果在 .htaccess 中進行建議的更改後問題仍然存在,則可以採用替代方法。
使用 PHP 標頭
而不是在 .htaccess 中設定 CORS 標頭,可以直接在 PHP 程式碼中完成,特別是在 index.php 檔案中。透過將以下程式碼新增至檔案的開頭,將為應用程式收到的每個HTTP 請求設定CORS 標頭:
<code class="php">// Allow from any origin if (isset($_SERVER['HTTP_ORIGIN'])) { // should do a check here to match $_SERVER['HTTP_ORIGIN'] to a // whitelist of safe domains header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } // Access-Control headers are received during 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']}"); }</code>
處理OPTIONS 請求
如果使用SLIM PHP 框架,您可能還需要處理OPTIONS 請求。將以下路由新增至 $app 對象,以確保 OPTIONS 請求收到 HTTP 200 回應:
<code class="php">// return HTTP 200 for HTTP OPTIONS requests $app->map('/:x+', function($x) { http_response_code(200); })->via('OPTIONS');</code>
這些 PHP 修改提供了在 .htaccess 中設定 CORS 標頭的替代方法。透過將這兩個程式碼區塊新增至 index.php 文件,您可以為 SLIM PHP RESTful 服務啟用 CORS。
以上是如何使用 PHP 標頭為 Slim PHP 框架啟用 CORS?的詳細內容。更多資訊請關注PHP中文網其他相關文章!