Warum bekomme ich eine 301 auf einem bestehenden Post?

Das ist bizarr …

Ich habe zwei Posts, wenn ich versuche, sie zu sehen, bekommen sie eine 301 und fahren fort, um zum nächsten Post in der Linie umzuleiten. Diese Beiträge werden veröffentlicht. Ich habe keine Plugins, die mit Weiterleitungen irritieren. Ich habe versucht, andere Plugins zu deaktivieren, die dieses Problem verursachen könnten. Ich habe auch die Guid in der database überprüft und es ist korrekt. Der Htaccess hat die grundlegende wp hübsche Permalink Struktur. Aus irgendwelchen Gründen wurden diese 2 Links als 301 markiert, und ich kann nicht sehen, wo das gemacht wurde.

Irgendwelche Ideen?

AKTUALISIEREN:

Das wird wirklich komisch …

So versuchte ich, das Problem zu beheben:

1. Laden Sie die Site auf den lokalen Entwickler herunter. Ich dachte, wenn das Problem der ganze Link ist, wenn ich es zu einem dev-Link ändere, wird das Problem nicht mehr bestehen. Und das würde Domain-Level-301-Redirect ausschließen.

Es stellt sich heraus, dass das Problem unter einem anderen Domänennamen noch besteht.

2. Deaktiviere alle Plugins Ich habe alle Plugins deaktiviert. Das Problem blieb bestehen. Nur für den Fall, löschte ich alle Plugins. Kein Glück.

3. Suche nach hartcodierten Links Ich suchte nach fest codierten Links im gesamten Theme. Ich suchte auch nach irgendwelchen PHP Weiterleitungen oder js Redirects. Nichts.

4. Also habe ich den WP-Core resintalled, ich wollte sicherstellen, dass das nichts damit zu tun hat. Nichts.

5. Ich habe alle Revisionen gelöscht

6. Deaktivierte ACF-Custom-Felder Plugin Ich dachte, dass die Umleitung in einigen benutzerdefinierten Feld versteckt ist. Also deaktiviert das Plugin, das sie anzeigt. Das Thema wird kaum korrekt angezeigt, die Seite wird jedoch trotzdem weitergeleitet.

Ich kann keine Themen wechseln, da die ganze Logik der Anzeige dieser Seite im Thema erfolgt und viele benutzerdefinierte Post-Typen und Felder verwendet werden.

Die nächste Option bestand also darin, die Seite zu löschen, auf die die Weiterleitung zeigte. So habe ich zum Beispiel Post 1 redirect zu Post 2. Ich löschte Post 2 (trashte es). Die Weiterleitung brachte mich immer noch auf die Seite Post 2, aber natürlich bekam ich jetzt eine 404. Seit Post 2 ist im Müll.

Also habe ich beschlossen, Post 2 aus dem Papierkorb zu löschen, damit es nicht mehr in der database ist. Sobald ich Post 2 gelöscht habe … tada! Beitrag 1 wurde nicht mehr weitergeleitet. Das behebt die Probleme, aber ich kann Post 2 auf der Live-Site nicht löschen …

Ich weiß immer noch nicht, was los ist …

UPDATE 2:

Also wollte ich 100% ig sicher sein, dass das Problem nicht in den Dateien, sondern in der database liegt. Also löschte ich so ziemlich alles und ließ nur die nötigen Seiten, um die Seiten in Fragen errorsfrei zu laden. Das bedeutet, dass ich alles aus functions.php gelöscht habe, alle Templates außer den betroffenen gelöscht habe, Styles, Bilder … alles gelöscht habe. Fast alles aus der Datei header.php gelöscht .. nur die Doctype und Stil Aufnahme (das ist, wo der Name des Themas ist). Und die Weiterleitung passiert immer noch. Ich habe sogar wp_head entfernt und kein Glück. So jetzt weiß ich, dass das Problem in der database ist.

Solutions Collecting From Web of "Warum bekomme ich eine 301 auf einem bestehenden Post?"

Normalerweise, wenn eine 301-Weiterleitung stattfindet, könnte Folgendes passieren:

  1. Sie haben einige .htaccess Rewrite-Regeln. In diesem Fall solltest du zu WordPress admin -> Einstellungen -> Permalinks gehen und dann auf “Änderungen speichern” klicken. Dadurch wird der WordPress-Teil der .htaccess-Datei neu geschrieben
  2. Sie haben eine Umleitung auf Domänenebene eingerichtet (dazu müssen Sie sich in Ihrem Host-Kontrollfeld anmelden, um festzustellen, ob dort etwas eingerichtet ist).
  3. Sie haben ein Umleitungsskript für die Clientseite.
  4. Es gibt eine Einstellung Yoast SEO unter der “Advanced” Abschnitt, der sagt, “Umleiten Ugly URL’s zu reinigen Permalinks”. http://scr.hu/76g8/b3c1d Dies hat auch Redirect-Probleme für Clients verursacht, mit denen ich gearbeitet habe.

Wie lautet die URL, unter der das Problem auftritt? Ich denke, das hilft uns bei der Diagnose.

Nachdem ich die Website (Kopie) ziemlich zerstört habe, fand ich die Antwort, aber ich bin mir der Sache nicht 100% ig sicher.

WordPress speichert den Namen von alten Posts Slugs, so dass 301 Umleitungen erstellt werden können. Es fügt einen Eintrag in die postmeta-Tabelle mit dem Namen _wp_old_slug hinzu. Ich hatte über 110 Einträge in meiner Postmeta-Tabelle mit vielen verschiedenen Werten. Es gab eine ganze Reihe von Beiträgen mit dem falschen Wert. Ich bin nicht sicher, wie das passiert ist, aber das verursachte die 301 Weiterleitungen. Sobald ich diese Einträge aus der database entfernt habe, wurde das Problem behoben.

Vielleicht ist die functionalität von _wp_old_slug bei einem der Updates kaputt gegangen? Und es wurde später behoben, ohne dass es jemand merkte? Ich bin mir nicht sicher, aber davon hatte ich noch nicht einmal gehört. Dank dieser Website habe ich Hinweise auf meine Lösung erhalten.