API REST Woocommerce - Nginx - ошибка 404 не найдена - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь использовать Woocommerce (v 3.5.4) Rest Api на моем VPS ( debian 9, Nginx ).

На моем локальном компьютере все работает хорошо ( windows 10, XAMPP ).

wpbop / - это папка (var / www / wpbop /), в которойФайлы WordPress хранятся.

Следующий базовый URL-адрес в браузере должен отправлять конечные точки API (нет необходимости в аутентификации для этого первого шага): http://my -public-ip /wpbop / wp-json / wc / v3

Или завиток в командной строке

curl http://127.0.0.1/wpbop/wp-json/wc/v3

в обоих случаях я получаю ошибку404 Не найдено.

Я могу без проблем зайти в блог / блог администратора (http://my -public-ip / wpbop )

Мои постоянные ссылкиустановлены на «Postname» в админ-панели WordPress, это рекомендуется многими людьми в одном и том же случае.


РЕДАКТИРОВАТЬ - РЕШЕНИЕ:

С момента моей установки Wordpressнаходится в поддомене,

try_files $ uri $ uri/ /index.php$is_args$args;

не может найти index.php.Просто измените эту строку на:

try_files $ uri $ uri / /wpbop/index.php$is_args$args;

и это работает!


Возможно, проблема связана с моим файлом конфигурации Nginx?

server {
  server_name localhost;
  listen 80;
  root /var/www;

    location /wpbop {

        index index.php;

        access_log /var/log/nginx/blog.access.log;
        error_log /var/log/nginx/blog.error.log;

        try_files $uri $uri/ /index.php$is_args$args;

            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_index index.php;
            fastcgi_pass 127.0.0.1:7000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
        }
    }
}

Я пробовал много вещей без каких-либо результатов, и я застрял на несколько дней.Кто-нибудь может мне помочь ?Спасибо, что читаете меня.

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

Этот случай требует простого исправления в файле конфигурации NGINX.Это связано с путем моей установки WordPress.

Поскольку моя установка Wordpress находится в поддомене,

try_files $uri $uri/ /index.php$is_args$args;

-> не может найти index.php.Просто измените эту строку на:

try_files $uri $uri/ /wpbop/index.php$is_args$args;
0 голосов
/ 21 февраля 2019

Перемещение root /var/www/; на один уровень вверх (до server контекста).Это не наследуется.

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