Access-Control-Allow-Origin и www поддомен - PullRequest
1 голос
/ 03 апреля 2011

У меня проблемы с Access-Control-Allow-Origin. Я использую CodeIgniter (CI) и jQuery, чтобы сделать вызов jQuery.getJSON (). Я вызываю jQuery.getJSON (), используя CI URL. Мой базовый URL в конфигурации CI включает в себя www (www.domain.com) в имени домена. Когда я захожу на сайт, я не использую www (domain.com). Поэтому, когда выполняется вызов jQuery.getJSON (), он использует URL-адрес www, но он вызывается из URL-адреса, отличного от www. Это вызывает ошибку:

Происхождение non-www.domain.com не является разрешено Access-Control-Allow-Origin.

Как вы справляетесь с этой проблемой? Я видел много постов о том, как работать с различными субдоменами, делающими эти вызовы AJAX, но я чувствую, что это не так. Это тот же сайт, но некоторые люди могут использовать www.domain.com , а некоторые могут использовать domain.com .

Ответы [ 2 ]

0 голосов
/ 05 апреля 2011

Спасибо @serg.Я закончил тем, что делал то, что вы предложили, но только наоборот (перенаправил все www на non-www).Я также нашел код, аналогичный тому, который вы предоставили, но он более общий, поэтому мне не нужно менять доменное имя, когда я хочу его повторно использовать:

0 голосов
/ 03 апреля 2011

Я бы посоветовал вам выбрать раз и навсегда, хотите ли вы www перед вашим сайтом, а затем соответственно настроить перенаправление Apache, что избавит вас от головной боли:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L] 

(перенаправляет запросы без www на www)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...