it-swarm.com.de

Leite alten Permalink auf neuen um

Ich habe den Permalink für WordPress-Autorenseiten von /author/ auf die niederländische Variante /auteur/ geändert. Das funktioniert einwandfrei. Google zeigt jedoch Fehler 404 in der Suchkonsole an. Um also die alten Versionen, die Google kennt, auf die neuen umzuleiten, möchte ich Benutzer mit einer 301-Umleitung folgendermaßen umleiten:

Von: https://www.example.com/author/jack
An: https://www.example.com/auteur/jack

Ich habe den folgenden Weiterleitungscode in die .htaccess-Datei eingefügt, aber es scheint nicht zu funktionieren:

RedirectMatch 301 ^/author/$ ^/auteur/$1

Was vermisse ich hier?

3
DutchLearner
RedirectMatch 301 ^/author/$ ^/auteur/$1

Dadurch wird nur /author/ umgeleitet, aber die Ziel-URL ist ungültig (mit einem ^-Präfix). Die Ziel-URL ist eine normale Zeichenfolge (die Platzhalter akzeptiert), keine reguläre Zeichenfolge.

Da WordPress jedoch bereits mod_rewrite-Direktiven für den Front-Controller verwendet. Sie sollten für diese Umleitung auch mod_rewrite verwenden (im Gegensatz zu einem mod_alias RedirectMatch), um mögliche Konflikte zu vermeiden. (Die verschiedenen Apache-Module: mod_alias, mod_rewrite usw. werden unabhängig von der Reihenfolge der Anweisungen in .htaccess unabhängig voneinander zu unterschiedlichen Zeitpunkten während der Anforderung ausgeführt. Dadurch können potenzielle Konflikte beim Debuggen verwirrend werden.)

Versuchen Sie stattdessen Folgendes vor den vorhandenen WordPress-Anweisungen:

RewriteRule ^author/(.*) /auteur/$1 [R=302,L]

Dadurch werden /author/ zu /auteur/ und /author/<anything> zu /auteur/<anything> umgeleitet.

Dies ist derzeit eine 302 (temporäre) Weiterleitung. Ändern Sie diese Einstellung nur dann in eine 301 (permanent), wenn Sie sicher sind, dass sie ordnungsgemäß funktioniert. 301 Weiterleitungen werden vom Browser hart zwischengespeichert, was das Testen problematisch machen kann.

Stellen Sie vor dem Testen sicher, dass der Cache Ihres Browsers leer ist.

2
MrWhite