将所有页面从旧域重定向到新的特定URL,而不会删除斜杠内容

时间:2016-09-23 10:47:33

标签: apache .htaccess redirect mod-rewrite

我有一个旧域名,让我们说oldomain.com我需要将所有流量重定向到特定网址newdomain.com/path

虽然来自oldomain.com的重定向完美无缺,但在结尾斜杠之后包含内容的任何内容都将被复制到新域网址结构中,从而导致404' s。

例如访问:oldomain.com/somepage将导致newdomain.com/pathsomepage

我正在寻找的是一些重写规则,可以将所有流量从oldomain.com重定向到newdomain.com/path,而无需更改特定的" newdomain.com/path" URL。

我目前正在使用下面的规则导致上述结果:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^oldomain.com
RewriteRule ^(.*) https://newdomain.com/path [P]

PS:重定向将转到Magento商店。

1 个答案:

答案 0 :(得分:2)

您正在尝试在指令中进行反向代理(重写中的P标志),但由于您正在描述重定向...在旧的虚拟主机中,您只需要添加一个简单的Redirect指令,如下所示:

Redirect / https://newdomain.example.com/

这将重定向所有请求,无论它们如何进入新域。示例GET / something将被重定向到https://newdomain.example.com/something

如果您希望目标成为固定目标,例如https://newdomain.example.com/path,请使用RedirectMatch:

RedirectMatch ^ https://newdomain.example.com/path