Ich verwende das folgende Plugin Json Rest API .
Um das Plugin zu testen, muss die Dokumentation verwendet werden:
$ curl -i http://testpress-maxximus.rhcloud.com/wp-json/
HTTP/1.1 404 Not Found
Date: Sat, 24 May 2014 07:01:21 GMT
Server: Apache/2.2.15 (Red Hat)
Content-Length: 303
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /wp-json/ was not found on this server.</p>
<hr>
<address>Apache/2.2.15 (Red Hat) Server at testpress-maxximus.rhcloud.com Port 8
0</address>
</body></html>
Wie Sie sehen, wird von der URL nichts gefunden. Gibt es Empfehlungen für Probleme mit der API oder mit WordPress?
Ich freue mich über Ihre Antwort
Die aktuelle Version von REST api für Sites mit nicht aktivierten Permalinks, die URL
yoursite.com/?rest_route=/
wird funktionieren .
Die WordPress-JSON-API hängt von ziemlich guten Permalinks ab , stellen Sie sicher, dass sie für die Site aktiviert sind.
In meinem Fall habe ich diese Fehlermeldung erhalten, nachdem ich Apache2 auf meinem lokalen Linux-Rechner installiert/konfiguriert habe. Ich fand den Fehler schließlich dadurch, dass das Überschreibungsmodul nicht aktiviert wurde.
Sudo a2enmod rewrite
und sicherstellen, dass für meine Apache2.conf-Datei (die sich im Ordner/etc/Apache2 befindet) ihre <Directory>
-Direktive 'AllowOverride' auf all statt auf none gesetzt ist
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
zu
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
dann habe ich den Apache2-Dienst neu gestartet und das Problem wurde behoben.
Ich bin mehrmals mit diesem Thema konfrontiert. Die Lösung ist folgende:
Melden Sie sich bei Ihrer Wordpress-Site an: example.com/wp-admin
Klicken Sie dann auf Einstellungen
Klicken Sie dann auf Permalinks
Dann Permalinks auf "Post-Name" setzen
Wenn Sie das Plugin ordnungsgemäß installiert haben, müssen Sie unbedingt die Regeln zum Umschreiben leeren.
Dies kann mit dem wp-cli erreicht werden: http://wp-cli.org/commands/rewrite/flush/
Manchmal ist die Lösung verrückt und einfach! Gehen Sie zu den Permalink-Einstellungen, indem Sie zu Admin -> Settings -> Permalinks
Wechseln ... und drücken Sie dann einfach Save Changes
, Ohne etwas anderes zu tun! Dies aktualisiert den Speicher von WordPress.
Warum ist das so? Für eine Situation, die ich zuvor hatte, hatte ich die URL der Hauptwebsite geändert, sodass ich auch die Permalinks aktualisieren musste.
Ich habe WP in einer lokalen Entwicklungsumgebung in einer Unterdomäne von localhost ausgeführt (zB mysite.localhost: 8888)
Die Lösung für mich war, die Konfiguration des virtuellen Hosts in httpd-vhosts.conf zu aktualisieren, um Verzeichnisoptionen festzulegen, ähnlich wie bei Aurovratas Antwort:
<VirtualHost *:8888>
ServerName mysite.localhost
DocumentRoot "/Users/myusername/mysite"
<Directory /Users/myusername/mysite>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>