it-swarm.com.de

Beiträge können nicht geändert (aktualisiert) werden - Seite nicht gefunden

Seit einigen Tagen habe ich Probleme beim Ändern einiger meiner Beiträge. Wenn ich versuche, den Inhalt des Beitrags zu ändern, erhalte ich die Fehlermeldung 404, dass die Seite nicht gefunden wurde.

Ich habe Google-Recherchen mit allen grundlegenden Tests durchgeführt, den Cache geleert, den Browser gelöscht, Plugins aktiviert/deaktiviert, Permalinks geändert usw. Ich habe dies im WP Forum gefunden und festgestellt, dass Apaches ModSecurity ist Probleme verursachen:

https://wordpress.org/support/topic/clicking-the-post-draft-button-sometimes-redirects-a-404-not-found-page/

https://wordpress.org/support/topic/404-page-not-found-when-savingupdating-a-postspage/

Dies funktioniert jedoch bei mir nicht, da ich in Cpanel nicht die Option habe, ModSecurity - von der Hosting-Firma zu deaktivieren.

Ich habe diese Antwort von ihnen erhalten:

Mod_sec ist eine wichtige Sicherheitsfunktion auf Serverebene. Wir werden mod_sec nicht deaktivieren.

Bestimmte WordPress-Posts (z. B. solche, bei denen es sich anscheinend um SQL-Injection-Angriffe handelt) können mod_sec auslösen, aber es sind sicherlich nicht alle WordPress-Posts.

Gibt es eine Problemumgehung, um dies zu lösen? Ich habe einen SSH-Zugang, etwas eingeschränkt, kann aber helfen.

Außerdem bin ich mir nicht 100% sicher - aber ich habe festgestellt, dass ich meine alten Beiträge aktualisieren kann (nicht alle testen kann).

Posts, die ~ 5-6m alt sind, werfen einen 404 Fehler. WP Version ist 4.7.2

EDIT

Die einzige Möglichkeit, die ich jetzt habe, besteht darin, eine Sicherungskopie der Produktionsstätte zu erstellen, meinen Locahost zu laden, Beiträge zu aktualisieren und ihn wieder in die Produktion zu verschieben.

Dies ist jedoch überhaupt nicht bequem. :( Hat jemand eine Lösung?

Bitte helfen Sie! Vielen Dank!

2
fugitive

Wenn Sie Zugriff auf Remote-MySQL haben, kann dies hilfreich sein. Ich habe dies vor einer Weile getan, als ich ein anderes Problem mit meinem Hosting-Anbieter hatte.

Erstellen Sie eine vollständige Sicherung Ihrer WordPress-Dateien, jedoch nicht Ihrer Datenbank. Kopiere sie auf deinen localhost. Anstatt jetzt eine lokale Datenbank in Ihrer wp-config.php -Datei zu verwenden, stellen Sie Ihre Datenbank auf die entfernte Datenbank Ihrer Online-Website ein (machen Sie natürlich zuerst ein Backup).

define('DB_Host', 'YOUR REMOTE DATABASE');

Erzwingen Sie nun, dass die lokale Installation den localhost als Site-URL und Site-Adresse verwendet, indem Sie diese in wp-config.php definieren:

define('WP_SITEURL', 'http://localhost/');

define( 'WP_HOME', 'http://localhost/' );

Jetzt können Sie mod_sec auf Ihrem lokalen Apache-Webserver deaktivieren und Ihre Beiträge aktualisieren.

PS: Ich habe dies nicht mit mod_sec versucht, und ich kann nicht garantieren, dass dies für Sie funktioniert. Ich weiß nicht einmal, ob dies offiziell bestätigt ist, aber da ich dies selbst getan und gearbeitet habe, habe ich darüber nachgedacht, es mit Ihnen zu teilen (da es zu lang war, um es als Kommentar zu veröffentlichen). Ich weiß nicht einmal, ob es sicher ist oder nicht.

Seien Sie jedoch vor fest codierten URLs und Uploads gewarnt, da diese Probleme verursachen, wenn Sie versuchen, Dateien auf localhost hochzuladen. Das Ändern des Inhalts selbst sollte jedoch kein Problem verursachen.

PS 2 Bitte seien Sie vorsichtig mit Ihren Downvotes. Obwohl es eher wie ein Science-Fiction-Projekt aussieht, hat es für mich persönlich funktioniert, also kann ich es nicht akzeptieren, dass Leute mir sagen, dass dies niemals funktionieren wird.

2
Jack Johansson

es gibt keine garantierte Lösung von mir, aber ein paar Punkte können Ihnen bei der Lösung helfen.

1: überprüfe deine .htaccess Datei. und fügen Sie den folgenden Code ein.

# 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

2: Überprüfen Sie Ihre database auf Fehler und führen Sie einen db repair und einen table optimization durch

3: Ändern Sie das Verzeichnis und die Dateiberechtigungen und ändern Sie sie für eine Weile in 755, 775 oder sogar 777. Ändern Sie außerdem die Dateiberechtigung für htaccess für kurze Zeit in 777.

4: Überprüfen Sie die URL des Post-Edit-Bildschirms und stellen Sie sicher, dass die URL wie folgt aussieht.

http://yourdomain.com/wp-admin/post.php?post=1&action=edit

dabei ist post=1 der post ID und der Wert für action muss gleich edit sein.

5: Ich denke, Sie haben bereits die Permalink-Struktur von den Einstellungen geändert, da dies sehr einfach ist und für das Frontend funktioniert. Versuchen Sie jedoch, sie erneut in Numeric zu ändern.

6: Stellen Sie sicher, dass Sie keine WordPress-Kerndatei oder -Dateinamen geändert haben.

7: WordPress bietet einen Aktions-Hook mit dem Namen save_post, mit dem Sie Post-Daten zur Klärung testen können. Erfahren Sie mehr hier

8: Vielleicht funktioniert es endlich, die Core WP -Version auf eine ältere umzukehren?

3
Anwer AR

Gehen Sie in den Admin-Bereich und setzen Sie Ihre Permalinks zurück

0
Vinnie James

Normalerweise kann das Hosting-Unternehmen bestimmte mod_security-Regeln deaktivieren, die sich möglicherweise auf Ihr Hosting-Konto auswirken. Ich bin bereits auf dieses Problem gestoßen, normalerweise ist es ein Plugin, das das Problem verursacht.

Versuchen Sie, Plugins zu deaktivieren und den Beitrag erneut zu aktualisieren?

0
bobbyjoe