将旧域名重定向到具有相同 URL 结构的新域名

将旧域名重定向到具有相同 URL 结构的新域名

我正在尝试将旧 WordPress 域名上的 URL 重定向到新域名上的相同 URL 结构。

例如:

  • oldsite.com/post-name-1将重定向至newsite.com/post-name-1

  • oldsite.com/post-name-2将重定向至newsite.com/post-name-2...等等。

我已尝试将以下内容添加到.htaccess我的旧域下的文件中:

RewriteRule ^/(.*)$ https://newsite.com/$1 [R=301,L]

.htaccess为了实现这一点,我需要在文件中写入什么规则?

答案1

Redirect 301 / https://newsite.com/

请参阅文档重定向人们倾向于在 Apache 中对所有事情都使用 mod_rewrite,因为它能做很多事情,但这是一个使用简单方法Redirect就能完成工作的好例子。

答案2

RewriteRule ^/(.*)$ https://newsite.com/$1 [R=301,L]

这在每个目录.htaccess文件上下文中永远不会起作用,因为RewriteRule 图案。 在一个目录(或.htaccess)上下文目录前缀(特别是以斜杠结尾)在模式匹配发生之前首先从 URL 路径中删除 - 因此匹配的 URL 路径不以斜线开头。目前,该指令旨在用于服务器或者虚拟主机语境。

.htaccess需要删除斜线前缀(或使其成为可选的):

RewriteRule ^(.*)$ https://newsite.com/$1 [R=301,L]

但是,提供oldsite.comnewsite.com当前指向不同的主机,并且 WordPress.htaccess指令已被删除,oldsite.com那么您应该按照@AndrewSchulman 的建议实现无条件Redirect

相关内容