我正在尝试将旧 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.com
和newsite.com
当前指向不同的主机,并且 WordPress.htaccess
指令已被删除,oldsite.com
那么您应该按照@AndrewSchulman 的建议实现无条件Redirect
。