サーバー側でREST APIと通信する2つのWebサイトがあります。 メインのWebサイトにはメインドメインがあり、2番目のWebサイトにはサブドメインがあります。例えば www.example.comとwww.admin.example.comサーバー側のIISでPHPを使用し、クライアント側でアンカーを使用するとCORSエラーが発生する
私はRESTのwww.example.comルートディレクトリ上のAPIとを持っている場合www.example.com APIへのアドレスはすべて問題ありませんが、www.admin.example.comがAPIに対処しようとしているときにエラーが発生します。
プリフライト要求に応答しても、 Access-Control-Allow-Origin 'ヘッダーが要求されたリソースに存在します。 Origin 'http://admin.example.com'はアクセスできません。
私は私のRestController.phpファイルで、このPHPコードの行があります:私はまた私のweb.configファイルに次のコードを追加しようとしました
header("Access-Control-Allow-Origin: *");
:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, OPTIONS" />
<add name="Access-Control-Max-Age" value="1000" />
</customHeaders>
</httpProtocol>
</system.webServer>
をが、それでも私は「アクセス制御許可元」ヘッダーエラー、または「アクセス制御許可元」ヘッダーに複数の値「*、* 1つしか許されていない」
私はそれが重要かどうかわかりませんが、私たちはを使用しています。クライアント側には、があります。
問題は何か、IISの問題かPHPの問題かクライアント側の問題なのでしょうか?
はあなただけで一つの場所にアクセス制御 - 許可 - 起源を設定する必要があります
https://blogs.iis.net/iisteam/introducing-iis-cors-1-0 Microsoftは、CORS応答を設定するための新しいOOBモジュールを導入しました。 –
ありがとうございました!それを解決した – guy