Problem:
Contact Form 7 verschickt nach der Umstellung von WordPress auf SSL keine Nachrichten mehr.
Lösung:
Mein .htaccess hat eine Regel, um nach allen URLs einen Schrägstrich zu erzwingen. Die Regel ist:
# Force trailing slash
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ [L,R=301]
Diese Umleitung zwang alle URLs dazu, am Ende ein “/” zu haben, einschließlich des wp-json-Pfads, der nach dem Upgrade von 4.8 von Contact Form 7 verwendet wird.
Man muss nur eine Ausnahme in .htaccess hinzufügen, um den Pfad / wp-json nicht umzuleiten. RewriteCond %{REQUEST_URI} !^/wp-json
Der letzte Ausschnitt ist dann also wie folgt:
# Force trailing slash
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_URI} !^/wp-json
RewriteRule ^(.*)$ [L,R=301]
Jetzt habe ich die WP-Version 4.9.1 und alle Formulare senden ohne Probleme durch Ajax.
Ich hoffe, dass dies anderen mit dem gleichen Problem helfen könnte.