2

base_url を に設定している間http://example.com/、Ajax は Firefox を除くすべてのブラウザーで正常に動作します。

に設定すると、Firefox でのみhttp://www.example.com/ 機能し、他のブラウザーでは機能しなくなります。 Access-Control-Allow-Origin エラーが発生します (これにより、異なるドメインでの ajax 呼び出しが防止されます。.
www

誰かがこの問題を抱えていますか?お時間をいただきありがとうございます。

$config['base_url'] = "http://example.com/";  // this works in all browsers, not in Firefox
$config['index_page'] = 'index.php';

$config['base_url'] = "http://www.example.com/";  // this works in only in Firefox, but not in other browsers
$config['index_page'] = 'index.php';

エラーは「XMLHttpRequest はhttp://www.example.com/index.php/controller/functionを読み込めません。Origin http://example.comは Access-Control-Allow-Origin によって許可されていません。」

2 つのリンクは「www」のみが異なります。

4

3 に答える 3

1

Windows ホスト ファイルでカスタム ホストを使用していたときに、この種の問題に遭遇しました。次の行を追加しました。

127.0.0.1 example.com

しかし、wwwを追加するのを忘れていました。したがって、これらのタイプの問題を回避するために、私は常にホストに追加し、別のホストには追加しませんwwwでした。

127.0.0.1 example.com www.example.com

問題は、すべての URL に www を自動的に追加するブラウザとそうでないブラウザがあることです。

Apache の vhosts 構成ファイルにホストを追加することを忘れないでください。(Apacheを使用していると仮定します)。

于 2012-07-29T14:31:34.173 に答える
0

base_url を空白のままにして修正しました。CIは自動的に推測するだけです

$config['base_url'] = "";  
$config['index_page'] = 'index.php';
于 2012-07-29T13:06:58.640 に答える