2016-07-14 13 views
0

私は、ajax(部屋予約システム)を使用しているワードプレスのページと、そのページを指しているワードプレスのサブドメインを持っています。WordpressサブドメインでCORSを有効にするにはどうすればよいですか?

サブドメインを使用すると、ページのメインセクションが読み込まれません。コンソールエラーは

XMLHttpRequest cannot load http://mysite.co.uk/wp-admin/admin-ajax.php. Origin http://meetingroom.mysite.co.uk is not allowed by Access-Control-Allow-Origin. 

サブドメインに対してCORSを有効にしようとしましたが失敗しました。サーバー上のサブドメインフォルダに、私はindex.phpファイルを持って部屋の予約ページを指しています。コードは次のとおりです。 -

<?php 

$_GET['page_id']=2250; 

define('WP_USE_THEMES', true); 

require('../httpdocs/wp-blog-header.php'); 

サブドメインは、Access-Control-Allow-Originエラー以外は非常にうまく機能します。

誰かがそれを修正するのに手伝ってもらえますか?ありがとうございました!

+0

I Wordpressの上でCORSを使用したことがありませんが、多分ちょうど[CORSを追加するための通常のPHP方法](http://enable-cors.org/server_php.html)、 'ヘッダ("アクセス-Control-Allow-Origin:* ");'?私は、より多くのWordpressの慣用的な方法があるかどうかわかりません。 – apsillers

+0

ありがとうございます。私はそれをどこに置くべきかわからない。テーマのheader.phpで試してみましたが、うまくいきませんでした。 –

+0

@LeeColarelliすべての出力が送信される前にすべての 'header'が行われなければなりません。ページの内容の一部が出力として書き込まれた後に 'header'呼び出しが行われた場合、それは動作しません。 (hello <?php header(...);?> 'のように' hello'が最初に出力されるので失敗します)。 – apsillers

答えて

2

ヘッダーはサーバー自体から送信するのが最適です。だからあなたがapacheを使用しているなら、apacheにそのヘッダを理想的に送るように指示する必要があります。

http://enable-cors.org/server_apache.html

関連する問題