使用该.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。
参考: