2017-09-05 1 views
0

私はSLIMフレームワークをバックエンドとして使用しています。Angularjsをフロントエンドとして使用しています。通常のGETおよびPOST APIは正常に動作しています。GETメソッドまたはPOSTメソッドでヘッダーを渡すと、404エラーがスローされます。 CORSのファイル。SLIM php Angularjs CORS

RewriteEngine On 

# Some hosts may require you to use the `RewriteBase` directive. 
# If you need to use the `RewriteBase` directive, it should be the 
# absolute physical path to the directory that contains this htaccess file. 
# 
# RewriteBase/

Header add Access-Control-Allow-Origin: "*" 
Header add Access-Control-Allow-Headers: "origin, x-requested-with, content-type, authorization" 
Header add Access-Control-Allow-Methods: "PUT, GET, POST, DELETE, OPTIONS" 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php [QSA,L] 

この問題を解決してください。

+0

サーバーのエラーログを確認します。どのリクエストが404レスポンスを生成していますか? – Phil

+0

あなたのサーバーは、フライト前の 'OPTIONS'リクエストに正しく反応していない可能性があります。キャッチオールソリューション – Phil

+0

okを見つけることができるかどうかを見てみましょう。私は1週間以上これを試しています。私はそれを得ることができません – user3667960

答えて

0

Chromeを使用している場合は、開発ツール内の[ネットワーク]タブを開いて、失敗したリクエストを表示できます。それがCORSに関連している場合は、それが失敗した理由を教えてくれます。

通常、404エラーはエンドポイントが見つからないことを意味します。そのため、角度コードが必要と思われるURLを要求していることを確認してください。

+0

404はおそらくプレフライトの 'OPTIONS'リクエストに応答しているものがないためです正しくSlimフレームワークはそれらを処理するように構成する必要があります。 – Phil

+1

SlimはOPTIONSを自動的に処理します。 –