Catch 404 nach dem Ändern der Permalink-Struktur von /% Postname% / bis /% Kategorie% /% Postname% /

Ich habe vor einiger Zeit eine Website erstellt und nach einigen Tagen wurden einige Beiträge von Suchmaschinen indiziert. Heute habe ich die Permalink-Struktur von /%postname%/ nach /%category%/%postname%/ .

Danach, wenn Leute von Suchmaschinen zu meiner Seite kommen, erscheint ein 404 page not found error . Ich möchte alle alten URLs ohne 404-Fehler in die neue Kategorie-Basis-URL ändern.

Wie kann ich es tun?
Übrigens benutze ich das Yoast Plugin.

Solutions Collecting From Web of "Catch 404 nach dem Ändern der Permalink-Struktur von /% Postname% / bis /% Kategorie% /% Postname% /"

Das passiert, weil WordPress jetzt deinen alten Postnamen als Kategorienamen liest – und diese Kategorie nicht finden kann.

Lösung: Filter 404_template und versuchen, den Pfosten und seinen Permalink zu finden. Dann redirect.

 < ?php # -*- coding: utf-8 -*- /* Plugin Name: Redirect to category */ add_filter( '404_template', 't5_redirect_to_category' ); function t5_redirect_to_category( $template ) { if ( ! is_404() ) return $template; global $wp_rewrite, $wp_query; if ( '/%category%/%postname%/' !== $wp_rewrite->permalink_structure ) return $template; if ( ! $post = get_page_by_path( $wp_query->query['category_name'], OBJECT, 'post' ) ) return $template; $permalink = get_permalink( $post->ID ); wp_redirect( $permalink, 301 ); exit; } 

Sie müssen 301 Weiterleitungen von Ihren alten Seiten-URLs zu den neuen URLs hinzufügen.

Dieses Plugin sollte erreichen, was Sie wollen: http://wordpress.org/extend/plugins/redirection/

Da es Änderungen an Ihren Permalinks erkennt und automatisch Weiterleitungen hinzufügt, müssen Sie zu Ihrer alten Permalink-Struktur zurückkehren, das Plugin aktivieren und dann Ihre Permalinks auf die neue Struktur aktualisieren.

Hoffe das hilft.