如何使用.htaccess 对主页和子页面执行301 重定向?

How to perform 301 redirection for home page and sub pages using .htaccess?

我们有一个全球网站和一些国家/地区的本地网站。现在我们需要以我们在全球网站上拥有每个国家/地区主页的方式将所有本地站点重定向到全球网站。我们将使用全球站点的子页面。我的 .htaccess 看起来像这样:

Redirect 301 / http://newdomain.com/uk
Redirect 301 /about-us/ http://newdomain.com/about-us/
Redirect 301 /contact-us/ http://newdomain.com/contact-us/

它适用于主页但不适用于子页面。而不是将它们重定向到“http://newdomain.com/about-us/" it keep redirecting to "http://newdomain.com/ukabout-us/

怎么办?

切勿使用 301 重定向

(除非 1)你知道你在做什么 2)你知道你所做的事情的后果 3)你已经使用 302 重定向广泛地测试了配置)。

我猜你的情况满足了上述 3 条规定中的 none。

在作为重定向参数提供的第一个路径上有一个 implicit wildcard。要强制进行文字匹配,请将 RedirectMatch 与锚点(例如“^/$”)一起使用。确保使用 302,直到它正常工作。

顺便说一句,从您的浏览器中获取 301 重定向很困难 - 仅清除缓存并不总是有效。