• Ciao a tutti,

    sto rifacendo da zero il mio sito ed ho WP 6.1.1 ma ho problemi con le REST API. Me ne sono accorto perché, cercando di pubblicare una nuova pagina, il sistema mi presentava l’errore

    Pubblicazione fallita. La risposta non è una risposta JSON valida.

    Al che ho indagato ed ho scoperto che le REST API sul mio server Debian sono presenti. Però WP, nella sezione Site Health, mi dice:

    Endpoint REST API: https://fraxinus.to.it/wp-json/wp/v2/types/post?context=edit
    Risposta REST API: (404) Not Found

    Qui di seguito metto le risposte da console del mio server:

    curl -X OPTIONS -i https://fraxinus.to.it/wp-json/
    HTTP/1.1 200 OK
    Date: Sun, 05 Mar 2023 18:16:07 GMT
    Server: Apache/2.4.54 (Debian)
    Allow: GET,POST,OPTIONS,HEAD
    Content-Length: 0
    
    curl -X get -i  https://fraxinus.to.it/wp-json/wp/v2/types/post
    HTTP/1.1 501 Not Implemented
    Date: Sun, 05 Mar 2023 18:16:12 GMT
    Server: Apache/2.4.54 (Debian)
    Allow: GET,POST,OPTIONS,HEAD
    Content-Length: 283
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>501 Not Implemented</title>
    </head><body>
    <h1>Not Implemented</h1>
    <p>get not supported for current URL.<br />
    </p>
    <hr>
    <address>Apache/2.4.54 (Debian) Server at fraxinus.to.it Port 443</address>
    </body></html>
    
    curl -X get -i  https://fraxinus.to.it/wp-json/wp/v2/types/pages
    HTTP/1.1 501 Not Implemented
    Date: Sun, 05 Mar 2023 18:16:34 GMT
    Server: Apache/2.4.54 (Debian)
    Allow: GET,POST,OPTIONS,HEAD
    Content-Length: 283
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>501 Not Implemented</title>
    </head><body>
    <h1>Not Implemented</h1>
    <p>get not supported for current URL.<br />
    </p>
    <hr>
    <address>Apache/2.4.54 (Debian) Server at fraxinus.to.it Port 443</address>
    </body></html>
    

    Non so proprio che fare. Questo problema mi blocca perché non posso creare alcun tipo di contenuto, né articoli né pagine.

    Avete suggerimenti, per favore?

    Grazie molte.

    La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]

Stai visualizzando 8 risposte - dal 1 al 8 (di 8 totali)
  • Ciao @atlantis1971 ,

    Consigli ne ho pochi perché non mi è mai successo di avere un problema così. Mi fa un po’ impressione che hai il set di caratteri ” charset=iso-8859-1 ” invece di ” utf-8 “.

    Ho provato ” curl -X GET -i https://<mydomain.it>/wp-json/ ” ed è uscito questo:

    $ curl -X GET -i https://mydomain.it/wp-json/ 
    ---
    HTTP/2 200 
    server: nginx
    date: Sun, 05 Mar 2023 20:46:36 GMT
    content-type: text/html; charset=utf-8
    content-length: 12083
    cache-provider: CLOUDWAYS-CACHE-DE
    content-encoding: gzip
    vary: Accept-Encoding
    last-modified: Sun, 05 Mar 2023 20:45:39 GMT
    
    ----
    più la solita marea di dati in formato json  

    Ecco non vorrei che fosse un problema di configurazione del server.

    Domani spero di avere un po’ di tempo e fare un’ installazione del tema “sydney”, se non erro. Magari è quello.

    saluto.

    Chi ha creato la discussione atlantis1971

    (@atlantis1971)

    Ciao @luca21

    intanto grazie del tempo che mi dedichi. La codifica non l’ho nemmeno guardata, la mia intenzione era di rivedere tutto il mio sito ma sono bloccato all’inizio.

    Il tema Sydney ho provato ad installarlo per capire se il problema fosse dato dal mio tema precedente ma le cose non cambiano al cambiare del tema. Penso anzi di rimettere un tema standard di wp. Col tema 2023 ho avuto problemi, ovvero quando faccio Personalizza cerca di aprire l’editor di temi (che mi da ancora in beta) e non capita niente. Per questo ho cambiato tema.

    In più, la mia installazione di wp è in una sottocartella di www. Nel file di host ho cmq impostato la sottocartella come root per il dominio, come si fa nei siti multi hosting.

    Spero e confido in una mano di voi esperti.

    Grazie molte

    Ale

    • Questa risposta è stata modificata 1 anno, 7 mesi fa da atlantis1971.

    Ciao @atlantis1971 ,

    Stamattina sono giusto inciampato in un errore simile al tuo. Rest API che non funzionano. Da site health:

    “Una sessione PHP è stata creata da una chiamata alla funzione session_start(). Ciò interferisce con REST API e le richieste di loopback. La sessione dovrebbe essere chiusa da session_write_close() prima di fare una qualsiasi richiesta HTTP.
    Durante il test dell’API REST, è stato generato un errore:

    Endpoint REST API: https://xxx.xxxxxx.it/wp-json/wp/v2/types/post?context=edit
    Risposta REST API: (http_request_failed) cURL error 28: Operation timed out after 10001 milliseconds with 0 bytes received “

    Invece da browser tutto giusto: https://xxxx.xxxxxxxx.it/wp-json/wp/v2/types/post?context=edit
    Risposta: {“code”:”rest_forbidden_context”,”message”:”Non hai i permessi per modificare gli articoli in questo post type.”,”data”:{“status”:401}}

    Insomma qualcosa aveva chiamato session_start() e non l’aveva più chiusa o chiusa nel posto sbagliato. In WP non si usano le sessioni ma i transienti.

    Uff. Ho cercato dappertutto, perfino dubitato di wp-cli perchè avevo “smanettato” abbastanza con quello, poco prima.

    Invece il colpevole era un plugin “Captcha Code”. Trovato semplicemente disattivandoli uno a uno. Si vede che apre una sessione e poi si dimentica di chiuderla. Cercherò quando ho tempo.

    Saluto.

    Chi ha creato la discussione atlantis1971

    (@atlantis1971)

    Ciao @luca21 ,

    sono felice che tu abbia risolto. Personalmente sono allo stesso punto di prima, anche se:

    • ho reinstallato la versione core (ho la 6.1.1 it);
    • ho tolto tutti i plugin;
    • ho tolto tutte le pagine e gli articoli tranne Ciamo mondo e la pagina di prova della Privacy;
    • alla fine ho nuovamente reinstallato.

    Ora il Site Health mi dice che ho solo 1 miglioramento da fare… risolvere l’errore delle api rest!

    Non so più dove sbattere la testa!!!

    Ale

    Ciao @atlantis1971 ,

    L’errore che hai tu sembra più difficile di quello che è successo a me.

    Me la sono cavata con i sistemi facili ma se non funzionano bisognerà pensare a quelle difficili.

    Ho sempre sospetto per Charset. utf-8 è uno standard per WP. Il database dovrebbe avere: ” Charset del database utf8mb4 ” , sempre su site-health, informazioni. utf-8 insomma. Se il tuo database non ha questo set o uno equivalente allora ci sono problemi. Se, invece ha questo, va purtroppo in conflitto con il set del server che è “charset=iso-8859-1”.

    Saluto.

    Chi ha creato la discussione atlantis1971

    (@atlantis1971)

    Ciao,

    ho controllato ed ho la utf8mb4 attiva sul db. Non capisco come faccia ad uscire fuori… uffa…

    Oggi reinstallo poi vedo se cambia qualcosa.

    Grazie

    Ale

    Ciao @atlantis1971 ,

    posso chiederti se hai installato il vhost da linea di comando oppure se hai preinstallato un pannello webserver ? (hestiacp, ispconfig, webmin, cpanel, plesk).

    Non ti offendere per carità ma le cose da ricordarsi sono tante. Può scapparne qualcuna.

    Saluto.

    Chi ha creato la discussione atlantis1971

    (@atlantis1971)

    Ciao, non ho un web panel, noleggio una VM e me la configuro io. Il sistema è Debian. Devo finire di reinstallare da zero WP, ieri poi non ho avuto tempo.

    Ti aggiorno.

Stai visualizzando 8 risposte - dal 1 al 8 (di 8 totali)
  • Il topic ‘Errore Rest Api 404’ è chiuso a nuove risposte.