WordPress

Gutenberg Editor, PUT Error 405 Method not allowed

press 552026 1920

Die erste Begegnung mit dem möglicherweise künftigen Block-Editor für WordPress lief nicht so glorreich, denn speichern funktonierte nicht. Zwischendurch fand ich etwas Zeit die Ursache(n) dafür zu erforschen. In beiden Fällen in denen ich auf den Fehler stieß war PUT nicht erlaubt. Unter Apache ist es normalerweise verfügbar, sofern explizite Sicherheitsmaßnahmen in der .htaccess PUT und DELETE nicht generell unterbinden.

<Limit PUT DELETE> order deny,allow deny from all </Limit>
Code-Sprache: HTML, XML (xml)

Beim IIS unter Windows muss man das gar nicht erst unterbinden, sondern im Gegenteil, was dann auch hier zum Fehler führt, wird PUT nicht ausdrücklich gestattet.

Die Fehlermeldung (Browser-Debuggingtools)

jquery.js?ver=1.12.4:4 PUT http://local.wordpess.url/wp-json/wp/v2/posts/243 405 (Method Not Allowed) send @ jquery.js?ver=1.12.4:4 ajax @ jquery.js?ver=1.12.4:4 e.ajax @ backbone.min.js?ver=1.2.3:1 e.sync @ backbone.min.js?ver=1.2.3:1 sync @ wp-api.js?ver=4.9-beta4-42039:896 save @ backbone.min.js?ver=1.2.3:1 save @ wp-api.js?ver=4.9-beta4-42039:908 REQUEST_POST_UPDATE @ index.js?ver=1509361258:39 (anonymous) @ index.js?ver=1509361258:39 (anonymous) @ index.js?ver=1509361258:39 (anonymous) @ index.js?ver=1509361258:28 d @ index.js?ver=1509361258:28 callCallback @ react-dom.f04e56af.js:1527 invokeGuardedCallbackDev @ react-dom.f04e56af.js:1566 invokeGuardedCallback @ react-dom.f04e56af.js:1423 invokeGuardedCallbackAndCatchFirstError @ react-dom.f04e56af.js:1437 executeDispatch @ react-dom.f04e56af.js:1660 executeDispatchesInOrder @ react-dom.f04e56af.js:1682 executeDispatchesAndRelease @ react-dom.f04e56af.js:2197 executeDispatchesAndReleaseTopLevel @ react-dom.f04e56af.js:2208 forEachAccumulated @ react-dom.f04e56af.js:2174 processEventQueue @ react-dom.f04e56af.js:2367 runEventQueueInBatch @ react-dom.f04e56af.js:2379 handleTopLevel @ react-dom.f04e56af.js:2389 handleTopLevelImpl @ react-dom.f04e56af.js:2028 batchedUpdates @ react-dom.f04e56af.js:14309 performFiberBatchedUpdates @ react-dom.f04e56af.js:1874 stackBatchedUpdates @ react-dom.f04e56af.js:1865 batchedUpdates @ react-dom.f04e56af.js:1879 batchedUpdatesWithControlledComponents @ react-dom.f04e56af.js:1892 dispatchEvent @ react-dom.f04e56af.js:2102
Code-Sprache: JavaScript (javascript)

Im IIS muss man in die Serververwaltung, und dort vom betreffenden Web den PHP Handler ermitteln. Hierzu im Web die Handlerzuordnungen öffnen.

put 01

Welcher der Richtige ist, hängt davon ab, wie PHP installiert wurde (ISAPI oder FastCGI). Bei FastCGI heißt der Handler PHP_via_FastCGI (wenn es nur eine PHP-Version gibt), vielleicht auch PHP70_via_FastCGI (oder andere Versionen). Bei ISAPI einen entsprechender Eintrag suchen und doppelklicken.

put 05

Wenn der richtige Eintrag ausgemacht ist (am besten über den Pfad erkennbar), auf Einschränkungen klicken. Die zweite Registerkarte mit dem Titel Verben aktivieren. Entweder hier Alle Verben wählen oder das Feld Eines der folgenden Verben entsprechend ergänzen.

Mit Ok schließen, die Änderung bestätigen. Die web.config wurde um eine ziemliche Liste von Einträgen erweitert. Davon ist eine Zeile jene, die den Editor zum Speichern befähigt:

<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v7.0\php-cgi.exe" resourceType="Either" />
Code-Sprache: HTML, XML (xml)
IIS verwende ich nur als Testserver, nicht im Wirkbetrieb. Für WordPress wird Apache oder auch nginx empfohlen. Es läuft allerdings genauso gut unter IIS. Um den Wirkbetrieb zu wagen sind Expertenkenntnisse vorteilhaft, oder jemanden zu kennen, der sie hat. Denn es gibt weit weniger umsetzbare Tipps im Web darüber als zur Apache-Umgebung.

weiter schmökern

Schreibe einen Kommentar

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden.

Deine E-Mail-Adresse wird nicht veröffentlicht.