私はCodeIgniter 3をWebプラットフォームとして使用しており、セマンティックUIのCSSをページにインポートしようとしています。 CSSインポートのhrefプロパティでCodeIgniterのbase_url()
メソッドを使用しています。codeigniterはlocalhostの代わりに[:: 1]をエコーする
しかし、semantic.css自体は、私のサーバー上に存在する他のフォントをインポートし、クロスソースのリソース共有ポリシーのために読み込めません。これはクロムが私に与えるエラーメッセージです:
Cross-Origin Resource Sharingポリシーでロードされている「http://[::1]
」のフォントは、要求されたリソースに存在しません。「Access-Control-Allow-Origin」ヘッダーは存在しません。 Origin 'http://localhost'はアクセスできません。
これは、ブラウザに入力したときにbase_url()がドメインが[::1]
であり、localhostではないことを示しているからです。
何らかの理由で、クロム(とEdge)が同じホストとして[::1]
とlocalhostを考慮しない、または多分私がばかだと思うかもしれません。私が知っているのは、メインのsemantic.cssファイルのパスを変更してlocalhostをハードコードすると動作し、localhostを使用してページを要求するのではなく、私が使用するのであれば動作します。[::1]
Iこれに非常によく似た他のプロジェクトをやったことがありましたが、これはなかった"[::1]"
が表示されます。何が正確にそのようなパスをエコーするPHPを引き起こしている?
これを実現しましたが、それを埋めたことはありませんでした.base_urlは、localhostや他のドメインにあっても常に正しく解決されています。 この値を入力した場合、プロジェクトを自分のマシンから別のサーバーに移動するときに変更する必要があると思いますか? – Dalannar
いくつかの他のサーバー手段? –
私がexample.comに移動した場合、それを設定してもbase_urlはlocalhostをエコーしますか? – Dalannar