Mit der .htaccess
Datei 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- Redirect
Direktive 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: