フランス語のホームページ(フランス語のホームページのみ)を英語のホームページにリダイレクトします

フランス語のホームページ(フランス語のホームページのみ)を英語のホームページにリダイレクトします

ファイルを使用して、ルートを持つ他のフランス語のページに.htaccessリダイレクトしたいのですが(例:)www.example.com/fr/www.example.com//fr/www.example.com/fr/page-name

使用してみましたRedirect 301 /fr/ https://example.com/が、フランス語のページがすべて英語版にリダイレクトされてしまい、望ましくありません。

これを回避する方法はありますか?

答え1

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

mod_aliasRedirectディレクティブはプレフィックスマッチングなので、単純に始まるものすべてをリダイレクトし/fr/、一致後のすべてをターゲット URL の末尾にコピーします。これは URL ブランチ全体 (またはサイト全体) をリダイレクトするのに最適ですが、特定の URL には適していません。

特定の URL をリダイレクトするにはRedirectMatch、単純なプレフィックス一致ではなく、正規表現と一致する を使用する必要があります。

例えば:

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

既存の mod_rewrite ディレクティブ (つまりRewriteRule) がある場合は、代わりに mod_rewrite を使用する必要がある (または使用する方が望ましい) ことに注意してください。

参照:

関連情報