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>

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

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 05Wenn 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" />
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.