Puncte:0

configurați NGINX: pentru Wordpress Headless cu nextjs

drapel br

Vreau să fac un WordPress Headless (folosind API-ul wpgraphql la /graphql uri), unde frontend va fi next.js. Și vreau ca atât front-end (Next.js) cât și back-end (WordPress. admin, conținut și API) să fie în acelasi domeniu.

În acest scop vreau toate cererile numai pentru /wp-admin/* și /wp-content/* și /graphql pentru a fi direcționat către WordPress. Și toate celelalte uri vor fi redirecționate către serverul next.js în localhost:3000 prin reverse proxy. Mai jos este fișierul de configurare nginx.

Server {
  asculta 80;
  asculta [::]:80;
  rădăcină /var/www/wordpress;
  index index.php index.html index.htm;
  nume_server gazdă locală;

  client_max_body_size 100M;
  autoindex dezactivat;

  # WordPress 
  Locație / {
    try_files $uri $uri/ /index.php?$args;
  }

  locație ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

  # Next.js
  Locație # ... {
    proxy_pass http://localhost:3000;
    proxy_http_versiunea 1.1;
    proxy_set_header Actualizare $http_upgrade;
    proxy_set_header Conexiune „upgrade”;
    proxy_set_header Gazdă $gazdă;
    proxy_set_header X-Real-IP $adresă_la distanță;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $schema;
    proxy_set_header X-Forwarded-Host $gazdă;
    proxy_set_header X-Forwarded-Port $server_port;
  }
}

Orice ajutor este apreciat, mulțumesc

Puncte:0
drapel us

nginx folosește cel mai lung prefix de potrivire specificat cu Locație directivă. Prin urmare, următoarea configurație ar trebui să facă ceea ce doriți.

Puteți adopta următoarea abordare:

  locație /wp-admin {
     try_files $uri $uri/ /index.php?$args;
  }
  
  locație /wp-includes {
     try_files $uri $uri/ /index.php?$args;
  }
    
  locație /wp-json {
     try_files $uri $uri/ /index.php?$args;
  }

  locație /wp-content {
      try_files $uri $uri/ /index.php?$args;
  }

  locație /graphql {
      try_files $uri $uri/ /index.php?$args;
  }
Adiel avatar
drapel br
Funcționează grozav, dar căile `wp-includes` și `wp-json` trebuie adăugate. Mulțumiri

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.