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 ^(.*)$ https://mysite.com.br/$1/ [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 ^(.*)$ https://mysite.com.br/$1/ [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.