Leiten Sie die französische Homepage (und nur die FR-Homepage) auf die englische Homepage um

Leiten Sie die französische Homepage (und nur die FR-Homepage) auf die englische Homepage um

Mit der .htaccessDatei möchte ich www.example.com/fr/auf www.example.com/andere französische Seiten umleiten, die die /fr/Wurzel haben (zB www.example.com/fr/page-name), aber nicht auf andere.

Ich habe versucht, es zu verwenden Redirect 301 /fr/ https://example.com/, aber dadurch werden alle französischen Seiten auf die englischen Versionen umgeleitet, was ich nicht möchte.

Gibt es eine Möglichkeit, das zu umgehen?

Antwort1

Redirect 301 /fr/ https://example.com/

Die mod_alias- RedirectDirektive ist präfixübereinstimmend, leitet also alles um, was einfach beginnt, /fr/und kopiert alles nach der Übereinstimmung an das Ende der Ziel-URL. Sie eignet sich hervorragend zum Umleiten ganzer URL-Zweige (oder ganzer Websites), aber nicht für bestimmte URLs.

Zum Umleiten einer bestimmten URL müssen Sie verwenden RedirectMatch, das mit einem regulären Ausdruck übereinstimmt, statt einer einfachen Präfixübereinstimmung.

Zum Beispiel:

RedirectMatch 301 ^/fr/$ https://example.com/

Beachten Sie, dass Sie, wenn Sie über vorhandene mod_rewrite-Direktiven verfügen (z. B. RewriteRule), hier möglicherweise stattdessen mod_rewrite verwenden müssen (oder die Verwendung vorzuziehen ist).

Referenz:

verwandte Informationen