使用該.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 。
參考: