При наборе адреса с www не работает AJAX (JQuery)!

madmis

Новичок
При наборе адреса с www не работает AJAX (JQuery)!

При наборе адреса с www не работает AJAX (JQuery)!
Господа, прошу помощи.

Проблема такова: есть заполнение select на AJAX (JQuery), из БД. Если адрес http://site.ua - то все отлично работает. Но если http://www.site.ua - то не работает.

При просмотре файрбагом, выяснилось что возвращает ошибку 407.

Если кто сталкивался, объясните пожалуйста в чем проблема, и как сие побороть?

(znaydemo.org.ua - не работает здесь. Можете посмотреть)
 

Mols

Новичок
По какому адресу идет запрос на получение данных для селекта?
 

madmis

Новичок
$.getJSON('core/ajax/mod.docsearch.php', { id: this.value }, function(data)
{
currSelect.fillSelect(data).attr('disabled','');
});

-~{}~ 22.11.09 14:57:

Вот что я увидел:

[DOCUMENT_ROOT] => /var/www/usr/data/www/znaydemo.org.ua

[SCRIPT_FILENAME] => /var/www/usr/data/www/www.znaydemo.org.ua/index.php

www.znaydemo.org.ua - Такого каталога на сервере нет.


Т.е. это какая-то проблема с настройками сервера? Или все-таки мои плуга?
 

Mols

Новичок
Та не. Каталог не нужен. Контент же отдаётся. Значит вебсервер в курсе, что это один сайт. А почему путь относительный в аякс запросе?
 

madmis

Новичок
так и не удалось решить проблему.

Пришлось пока сделать так (.htaccess):
RewriteCond %{HTTP_HOST} ^www.znaydemo.org.ua
RewriteRule ^(.*)$ http://znaydemo.org.ua/$1 [R=permanent,L]

-~{}~ 22.11.09 16:30:

А в аяксе нужно полные пути указывать?

Ну в любом случае, если я укажу

$.getJSON('http://www.znaydemo.org.ua/core/ajax/mod.docsearch.php', { id: this.value }, function(data)

То сервер по http://znaydemo.org.ua/core/ajax/mod.docsearch.php - не пустит. И наоборот.

-~{}~ 22.11.09 16:34:

Вычитал что проблема может быть в NS

-----------------------------
однозначно NS

nslookup domain.ru - ok
nslookup www.domain.ru - не пройдет

прописывайте или для www NS или для всех

www.domain.ru IN A 111.111.111.111
или
domain.ru. IN A 111.111.111.111

Mozilla просто в случае не обнаружения предполагает такую ошибку и смотрит домены с www, без www итп
-----------------------------

Но с этим вроде все в порядке.
 

madmis

Новичок
Я не знаю что за сервер. Просто $_SERVER распечатал, там эти пути и взял.
 

dimagolov

Новичок
Просто $_SERVER распечатал, там эти пути и взял.
это при запросе www.znaydemo.org.ua в index.php?

посмотри по заголовкам какие запросы и куда отправляет браузер при запросе страницы www.znaydemo.org.ua, а какие при ajax-запросах.

Я не знаю что за сервер
а что говорит phpinfo() на счет сервера и режима работы php?

просто уж очень специфическая 407-я ошибка

-~{}~ 22.11.09 10:38:

[SCRIPT_FILENAME] => /var/www/usr/data/www/www.znaydemo.org.ua/index.php

www.znaydemo.org.ua - Такого каталога на сервере нет.
http://www.php.net/manual/en/reserved.variables.server.php:
'SCRIPT_FILENAME'

The absolute pathname of the currently executing script.
может все же simlink есть на /var/www/usr/data/www/znaydemo.org.ua?
 

madmis

Новичок
Проблема в том, что www.znaydemo.org.ua это alias домена. А физически домен расположен по адресу /var/www/usr/data/www/znaydemo.org.ua.

И когда AJAX делает запрос с адреса www.znaydemo.org.ua на адрес znaydemo.org.ua, сервер это воспринимает как обращение с другого домена, и поэтому запрашивает авторизацию.

Я так понимаю, нужно просто как-то сервер убедить, что www.znaydemo.org.ua и znaydemo.org.ua один и тот же домен. Но как это сделать, я не знаю.
 

dimagolov

Новичок
И когда AJAX делает запрос с адреса www.znaydemo.org.ua на адрес znaydemo.org.ua, сервер это воспринимает как обращение с другого домена, и поэтому запрашивает авторизацию.
так нужно использовать относительные адреса в ajax запросе, чтобы такого не происходило.

Проблема в том, что www.znaydemo.org.ua это alias домена.
это не проблема. что ajax, что не-ajax запросы будут обрабатываться одними и теми же скриптами. проблема может быть в "привязывании" скриптов к имени домена, вот ее и нужно решать.
 
Сверху