0 レビュー
0 回答
php-末尾にスラッシュを追加するまで、ReactJSでURLをフェッチすると、このURLに対してのみ「PreflightDisallowedRedirect」が表示されるのはなぜですか?
私は、phpで記述されたAPIからデータをフェッチするReactアプリに取り組んでいます。 apiフォルダーの構造は次のようになります:
api/
|
|---.htaccess
|---news/
| |
| |---news.php
|---tenders/
|
|---tenders.php
.htaccessファイルは、フェッチするURLを「美化」するために作成されました
RewriteRule ^news/?$ news/news.php
RewriteRule ^tenders/?$ tenders/tenders.php
ご覧のとおり、両方の書き換えルールは同じ方法で記述されています。
開発環境で入札APIを取得する場合は正常に機能しますが、ニュースを取得する場合は機能しません。
Reactフェッチコード:
return fetch('https://website.tld/api/news', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
})
return fetch('https://website.tld/api/tenders', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
})
ここでも、URLは同じように記述されていますが、ニュースのURL
に対してのみ次のエラーが表示されます。オリジン「http:// localhost:3000」から「https://website.tld/api/news」でフェッチするアクセスがCORSポリシーによってブロックされました:プリフライトリクエストへの応答がアクセス制御チェックに合格しません:プリフライトリクエストのリダイレクトは許可されていません。
しかし、末尾にスラッシュを追加すると、フェッチが機能することに気付きました:
https://website.tld/api/news/
このURLにのみ末尾のスラッシュを追加する必要がある理由がわかりません。一方、ニュース APIは、末尾のスラッシュなしで本番環境で機能します。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。