Skip to main content

Du kennst das bestimmt: Du willst mit deiner WordPress-Website so richtig durchstarten, vielleicht eine schicke React-App anbinden, ein paar Daten per REST-API austauschen oder einfach nur ein cooles Plugin nutzen – und plötzlich knallt dir der Browser eine dieser legendären Fehlermeldungen um die Ohren: „405 Method Not Allowed“ oder „403 Forbidden“. Herzlichen Glückwunsch, du bist im exklusiven Club der REST-API-Fehler gelandet! Aber keine Sorge, ich nehme dich heute mit auf eine Reise durch die Untiefen von CORS, ModSecurity, .htaccess und all den anderen Stolpersteinen, die zwischen dir und einer funktionierenden WordPress-REST-API stehen. Und ja, es wird nerdig, aber auch unterhaltsam – versprochen!

WordPress REST „405 Method Not Allowed“ / „403 Forbidden“ beheben – CORS, ModSecurity, .htaccess

Bevor wir uns in die technischen Details stürzen, lass uns kurz klären, warum das Thema überhaupt so wichtig ist. Die WordPress REST API ist seit Version 4.7 fester Bestandteil von WordPress und ermöglicht es, Inhalte und Funktionen deiner Website über standardisierte HTTP-Anfragen (GET, POST, PUT, DELETE) zu steuern. Das ist nicht nur für Entwickler:innen spannend, sondern auch für alle, die moderne Webanwendungen, Mobile Apps oder Integrationen mit anderen Systemen bauen wollen. Laut W3Techs läuft mittlerweile über 43% aller Websites weltweit auf WordPress – und die REST API ist das Tor zur Zukunftsfähigkeit dieser Plattform.

Doch wie so oft im Leben gilt: Wo viel Licht ist, ist auch viel Schatten. Die REST API ist ein beliebtes Ziel für Angriffe, und deshalb greifen viele Hoster, Firewalls und Sicherheitsplugins rigoros durch. Das Ergebnis: harmlos gemeinte Anfragen werden blockiert, und du bekommst kryptische Fehlermeldungen serviert. Zeit, das zu ändern!

  • Was bedeutet „405 Method Not Allowed“?

    Diese Fehlermeldung taucht auf, wenn du eine HTTP-Methode (z.B. POST, PUT, DELETE) verwendest, die vom Server oder der API nicht akzeptiert wird. Das kann verschiedene Ursachen haben: Die Methode ist auf dem Server nicht erlaubt, die .htaccess-Datei blockiert sie, oder ein Sicherheitsmodul wie ModSecurity schlägt Alarm. Besonders häufig passiert das bei Custom-APIs, AJAX-Requests oder wenn du mit Tools wie Postman experimentierst.

  • Was steckt hinter „403 Forbidden“?

    Hier wird’s noch gemeiner: Der Server hat deine Anfrage zwar verstanden, will sie aber aus Sicherheitsgründen nicht ausführen. Das kann an fehlenden Berechtigungen, fehlerhaften CORS-Einstellungen, restriktiven Firewalls oder auch an falsch konfigurierten Plugins liegen. Besonders tückisch: Manchmal bekommst du den 403-Fehler nur bei bestimmten Endpunkten oder Methoden – und suchst dir dann stundenlang einen Wolf.

Bevor wir uns an die Lösung machen, ein kleiner Überblick über die häufigsten Ursachen – und wie du sie systematisch aufspürst:

Ursache Typische Symptome Behebung
CORS-Fehler „No ‘Access-Control-Allow-Origin’ header“, 403 bei API-Requests von anderen Domains CORS-Header korrekt setzen, ggf. Preflight-Requests erlauben
ModSecurity 405 oder 403 bei bestimmten Methoden, oft nach Server- oder Plugin-Updates Regeln anpassen oder temporär deaktivieren, mit Hoster sprechen
.htaccess-Restriktionen Methoden wie PUT/DELETE werden geblockt, Rewrite-Fehler .htaccess prüfen und anpassen, ggf. AllowMethods setzen
WordPress- oder Plugin-Security 403 bei REST-API-Endpunkten, besonders bei Custom-Post-Types oder Plugins Security-Plugins konfigurieren, REST-API-Freigaben prüfen
Siehe auch  Backup wiederherstellen: So rettest du deine WordPress Website

1. CORS – Cross-Origin Resource Sharing

Stell dir vor, deine Website läuft auf meine-seite.de, aber deine App oder ein externer Service will Daten von api.meine-seite.de holen. Der Browser sagt: „Moment mal, das ist eine andere Domain – das ist mir nicht geheuer!“ Und schon blockiert er die Anfrage. Das nennt sich CORS (Cross-Origin Resource Sharing) und ist ein Sicherheitsmechanismus, der verhindern soll, dass böse Websites Schindluder mit deiner API treiben.

  • Typische CORS-Fehler:

    Im Browser-Console-Log findest du dann Meldungen wie No 'Access-Control-Allow-Origin' header is present oder Request header field X is not allowed by Access-Control-Allow-Headers. Besonders bei POST-, PUT- oder DELETE-Requests wird oft ein sogenannter Preflight-Request (OPTIONS) gesendet, der ebenfalls blockiert werden kann.

  • Lösung: CORS-Header setzen

    Du kannst CORS-Header entweder serverseitig (z.B. in der .htaccess) oder per Plugin setzen. Beispiel für die .htaccess:


    <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE"
    Header set Access-Control-Allow-Headers "Content-Type, Authorization"
    </IfModule>

    Achtung: Das Sternchen (*) erlaubt alle Domains – für produktive Umgebungen solltest du hier gezielt deine Domain eintragen!

  • WordPress-Plugins für CORS:

    Es gibt Plugins wie WP CORS oder CORS, die dir das Setzen der Header erleichtern. Aber: Weniger ist oft mehr – prüfe, ob du wirklich ein Plugin brauchst oder es direkt im Server-Setup lösen kannst.

2. ModSecurity – Der Server-Bodyguard

Viele Hoster setzen ModSecurity ein, ein Open-Source-Web Application Firewall (WAF) Modul für Apache und Nginx. Es schützt vor Angriffen wie SQL-Injection, XSS und Co. – aber manchmal ist ModSecurity etwas übereifrig und blockiert auch legitime REST-API-Requests.

  • Typische ModSecurity-Probleme:

    Du bekommst 403 oder 405 Fehler, oft ohne weitere Erklärung. Im Server-Error-Log findest du dann Einträge wie ModSecurity: Access denied with code 403 oder ModSecurity: Request body access denied. Besonders betroffen sind PUT/DELETE-Requests oder Anfragen mit bestimmten Headern.

  • Lösung: ModSecurity-Regeln anpassen

    Hier gibt es mehrere Wege:

    • Sprich mit deinem Hoster! Viele bieten die Möglichkeit, ModSecurity temporär zu deaktivieren oder einzelne Regeln auszuschließen.
    • Setze in der .htaccess gezielt Ausnahmen für die REST-API:

      <IfModule mod_security.c>
      SecFilterEngine Off
      SecFilterScanPOST Off
      </IfModule>

      Wichtig: Das deaktiviert ModSecurity für den gesamten Ordner – also nur im Notfall und niemals dauerhaft in der Produktion!

    • Nutze eigene ModSecurity-Regeln, um nur bestimmte Endpunkte freizugeben. Das ist allerdings fortgeschritten und erfordert SSH-Zugang und Know-how.

3. .htaccess – Die geheime Schaltzentrale

Die .htaccess-Datei ist das Schweizer Taschenmesser für Apache-Webserver. Hier kannst du Weiterleitungen, Zugriffsbeschränkungen und eben auch HTTP-Methoden steuern. Ein häufiger Fehler: Die .htaccess blockiert Methoden wie PUT oder DELETE, die für die REST-API aber notwendig sind.

  • Methoden explizit erlauben:

    Füge folgende Zeile in deine .htaccess ein, um die wichtigsten Methoden freizugeben:


    <LimitExcept GET POST OPTIONS PUT DELETE>
    Deny from all
    </LimitExcept>

    Oder noch besser, gar keine Limitierung setzen, wenn du REST-API intensiv nutzt.

  • Rewrite-Regeln prüfen:

    WordPress nutzt eigene Rewrite-Regeln für „schöne“ Permalinks. Fehlerhafte oder doppelte Regeln können REST-API-Endpunkte unzugänglich machen. Prüfe, ob deine .htaccess so aussieht:


    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

    Fehlt hier etwas oder gibt es zusätzliche Regeln, kann das REST-API-Probleme verursachen.

Siehe auch  Die besten Webdesign-Agenturen in Paderborn: Expertise, Preise & Support

4. WordPress- und Plugin-Security

Auch WordPress selbst und viele Security-Plugins (z.B. Wordfence, iThemes Security) blockieren REST-API-Endpunkte, um Angriffe zu verhindern. Das ist grundsätzlich sinnvoll, kann aber zu unerwarteten 403-Fehlern führen.

  • REST-API-Freigaben prüfen:

    Viele Plugins bieten Einstellungen, um die REST-API gezielt freizugeben oder einzuschränken. Prüfe die Plugin-Dokumentation und die Einstellungen im Backend.

  • Benutzerrechte und Nonces:

    WordPress prüft bei sensiblen Endpunkten, ob der User angemeldet ist und die richtigen Rechte hat. Bei Custom-APIs solltest du immer wp_nonce und current_user_can() nutzen, um Berechtigungen sauber zu prüfen.

  • Debugging-Tipp:

    Nutze das Plugin Query Monitor, um REST-API-Fehler und Berechtigungsprobleme schnell zu identifizieren.

5. Systematische Fehlersuche – So gehst du vor

  • 1. Browser-Konsole und Netzwerkanalyse:

    Schau dir die Fehlermeldungen im Browser an. Welche Methode wird blockiert? Gibt es CORS-Fehler?

  • 2. Server-Logs checken:

    Im Apache- oder Nginx-Error-Log findest du oft Hinweise auf ModSecurity oder .htaccess-Probleme.

  • 3. Plugins und Themes deaktivieren:

    Deaktiviere testweise alle Plugins und wechsle auf ein Standard-Theme. Funktioniert die REST-API dann, liegt es an einem Plugin oder Theme.

  • 4. .htaccess und CORS-Header prüfen:

    Vergleiche deine .htaccess mit der Standardversion und setze die CORS-Header korrekt.

  • 5. Hoster kontaktieren:

    Manche Probleme (z.B. ModSecurity) kannst du nur mit Hilfe deines Hosters lösen. Schicke ihnen die genaue Fehlermeldung und bitte um Anpassung der Regeln.

6. Best Practices für eine sichere und funktionierende REST-API

  • Nur notwendige Methoden und Endpunkte freigeben:

    Öffne nicht die ganze API für die Welt, sondern nur das, was du wirklich brauchst. Nutze Authentifizierung und prüfe Berechtigungen.

  • Regelmäßige Updates:

    Halte WordPress, Plugins und Server-Software aktuell, um Sicherheitslücken zu vermeiden.

  • Monitoring und Logging:

    Überwache die REST-API auf ungewöhnliche Zugriffe und Fehler. Tools wie ELK Stack oder Datadog helfen beim Monitoring.

  • Backups nicht vergessen:

    Im Fall der Fälle solltest du immer ein aktuelles Backup parat haben – am besten automatisiert und extern gespeichert.

Fazit: REST-API-Fehler sind nervig – aber lösbar!

Ob CORS, ModSecurity, .htaccess oder ein übermotiviertes Security-Plugin – die Ursachen für „405 Method Not Allowed“ und „403 Forbidden“ bei der WordPress REST API sind vielfältig, aber mit etwas Geduld und systematischer Fehlersuche fast immer in den Griff zu bekommen. Und falls du mal gar nicht weiterkommst, gibt’s ja noch uns von Nakaryu!

Siehe auch  WordPress „Trying to access array offset on value of type null“ – PHP 8 Warnings beheben234

Wir sind nicht nur WordPress-Nerds, sondern echte Problemlöser:innen – und helfen dir gerne, deine Website sicher, schnell und zukunftsfähig zu machen. Egal ob REST-API, WooCommerce, Performance oder Design: Hier geht’s zu unserem Webdesign-Service – individuell, flexibel und mit persönlichem Support. Lass uns gemeinsam das Web ein bisschen besser machen!

Quellen

Fragen zum Thema

Was bedeutet der Fehler „405 Method Not Allowed“ bei der WordPress REST API?

Der Fehler 405 Method Not Allowed tritt auf, wenn du eine HTTP-Methode wie POST, PUT oder DELETE verwendest, die vom Server oder der API nicht akzeptiert wird. Häufige Ursachen sind restriktive .htaccess-Regeln, Sicherheitsmodule wie ModSecurity oder falsch konfigurierte Servereinstellungen. Besonders oft passiert das bei Custom-APIs, AJAX-Requests oder beim Testen mit Tools wie Postman.

Was steckt hinter dem Fehler „403 Forbidden“ bei REST-API-Anfragen?

Der Fehler 403 Forbidden bedeutet, dass der Server deine Anfrage zwar verstanden hat, sie aber aus Sicherheitsgründen nicht ausführt. Gründe können fehlende Berechtigungen, fehlerhafte CORS-Einstellungen, restriktive Firewalls oder falsch konfigurierte Security-Plugins sein. Manchmal tritt der Fehler nur bei bestimmten Endpunkten oder Methoden auf.

Wie behebe ich CORS-Probleme bei der WordPress REST API?

CORS (Cross-Origin Resource Sharing) Fehler entstehen, wenn deine Website oder App von einer anderen Domain auf die REST API zugreifen will und der Server dies nicht erlaubt. Setze die nötigen CORS-Header entweder in der .htaccess oder per Plugin wie WP CORS. Beispiel für die .htaccess:


<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "https://deinedomain.de"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE"
Header set Access-Control-Allow-Headers "Content-Type, Authorization"
</IfModule>


Für produktive Umgebungen solltest du immer gezielt deine Domain eintragen und nicht * verwenden.

Was kann ich tun, wenn ModSecurity oder andere Server-Firewalls REST-API-Requests blockieren?

ModSecurity ist ein häufig eingesetztes Sicherheitsmodul, das manchmal auch legitime REST-API-Requests blockiert. Du kannst temporär bestimmte Regeln deaktivieren (z.B. über die .htaccess), gezielt Ausnahmen für die REST-API definieren oder deinen Hoster um Anpassung bitten. Wichtig: ModSecurity sollte nie dauerhaft komplett deaktiviert werden – setze Ausnahmen nur gezielt und nach Rücksprache mit dem Hoster.

Wie finde ich heraus, ob ein Plugin oder die .htaccess meine REST-API blockiert?

Deaktiviere testweise alle Plugins und wechsle auf ein Standard-Theme. Funktioniert die REST-API dann, liegt das Problem an einem Plugin oder Theme. Prüfe außerdem deine .htaccess auf restriktive Regeln und vergleiche sie mit der WordPress-Standardversion. Tools wie Query Monitor helfen dir, REST-API-Fehler und Berechtigungsprobleme schnell zu identifizieren.

Neues aus unserem Blog

Das könnte dich auch interessieren

Max 7

Harukyu

Max Wellner ist Gründer/ CEO von Nakaryu & Nekodanshi sowie Content Creator und Cosplayer aus Nürnberg. Er verbindet seit 2017 Webdesign, Marketing, Technologie und kreative Popkultur-Einflüsse zu digitalen Markenauftritten mit Wiedererkennungswert. Mit seiner Mischung aus technischer Expertise, kreativem Denken und eigener Erfahrung als Creator entwickelt er moderne Konzepte für Unternehmen, Marken und digitale Projekte, unterstützt durch eigens entwickelte KI Systeme und Workflows.

Jetzt kostenfreies Erstgespräch sichern

Lass dich unverbindlich beraten

→ Schreib an hey@nakaryu.de, chatte bei WhatsApp, oder ruf an +49 152 58119266. Wir beraten dich gerne.

Erstgespräch vereinbaren

15% Rabatt auf alle Pakete

→ Für Vereine, Creator & Künstler. Schreib uns einfach an.

Weiterempfehlen lohnt sich

100 € Gutschrift für jeden geworbenen Neukunden.

Datenschutz Center