Umleitung der Kategorie zu URL mit / category

Ich möchte jede Kategorieseite auf die URL redirect, die von /category vorangestellt wird. Beispielsweise; Ich möchte /blog redirect zu / category / blog

Warum? Aus irgendeinem Grund /blog gibt zum gleichen Ergebnis wie /category/blog , aber wenn Sie / Blog besuchen, funktioniert die Navigationsstruktur nicht mehr. Die nächste Seite der /blog/page/2 wird /blog/page/2 statt /category/blog/page/2 . Das erste Beispiel gibt eine 404-Seite zurück.

Meine Permalink-Struktur ist auf /%category%/%postname%/ und auf der Permalink-Seite habe ich die categorybase auf “categorie”, Niederländisch auf category gesetzt (also lies jede Kategorie oben als Kategorie haha).

Irgendwo im Internet habe ich den folgenden Code gefunden. Leider führt dieser Code zu einer Umleitungsschleife:

 add_filter('term_link', 'term_link_filter', 10, 3); function term_link_filter( $url, $term, $taxonomy ) { if ( is_category( 'blog' ) ) { $url = site_url( '/categorie/blog' ); wp_safe_redirect( $url, 301 ); exit; } return $url; } 

Hoffentlich wird jemand eine Lösung kennen.

Solutions Collecting From Web of "Umleitung der Kategorie zu URL mit / category"

Ihr Code funktioniert ordnungsgemäß, aber die Logik des Codes ist falsch. Sie tun dies: Wenn wir in der Kategorie “Blog” sind, leiten Sie sie in die Kategorie “Blog” um. Also, wenn Sie in die Kategorie Blog gehen, werden Sie für immer weitergeleitet werden. Sie sollten sorgfältig darüber nachdenken, was /blog URL ist und die ordnungsgemäße Überprüfung vornehmen.

Wie auch immer, bei 301 Umleitungen versuche ich lieber zuerst .htaccess. Wenn es durch .htaccess getan werden kann, tun Sie es; Sie sparen Serverressourcen, da die Umleitung vor dem Laden von PHP-Code erfolgt.

Versuchen Sie dies in Ihrem .htaccess:

 RedirectMatch 301 ^/blog(.*)$ http://example.com/category/blog$1 

Der obige Code tut das: Wenn die URL mit /blog(any-string-here) beginnt, leite sie zu /category/blog(any-string-here) mit 301 HTTP-Statuscode um.

Wenn du genau fangen willst /blog to /category/blog :

 RedirectMatch 301 ^/blog$ http://example.com/category/blog