Ajax не работает на Nginx / Wordpress - PullRequest
0 голосов
/ 06 августа 2010

Ахой,

Я запускаю WordPress 3x на Nginx, и все мои вызовы AJAX не работают.точно такой же WordPress работает на Apache.

Я как-то исправил ajax-вызов для работы с nginx, удалив «index.php» из всех вызовов jquery.post (), но я не смог исправитьдругие вызовы аналогичным образом.

в основном изменения были: для nginx строка:

jQuery.post( 'index.php?ajax=true', form_values, function(returned_data) {

была заменена на:

jQuery.post( '?ajax=true', form_values, function(returned_data) {

я подозреваю, что проблема заключается вв конфигурационном файле nginx с правилами перезаписи.Там вы с моей конфигурацией

if (!-e $request_filename) {
rewrite ^.+/?(/wp-.*) $1 last;
rewrite ^.+/?(/.*\.php)$ $1 last;
rewrite ^(.+)$ /index.php?q=$1 last;
}


location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /xxx/public$fastcgi_script_name;
include fastcgi_params;
}
}

1 Ответ

1 голос
/ 06 августа 2010

Может быть, вы находитесь в каталоге или "виртуальном" каталоге в URL браузера?

Если, например, вы находитесь на www.myblog.com, это должно работать, но на www.myblog.com / my-category / my-post /, вероятно, не будет.

Вы провели тестирование с одного и того же URL-адреса на сайте Apache и на сайте Nginx?

Вы пробовали с косой чертой перед путем, чтобы убедиться, что это корневой скрипт вызывается?

jQuery.post( '/index.php?ajax=true', form_values, function(returned_data) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...