Apache2 - 将多个域重定向到外部服务器

Apache2 - 将多个域重定向到外部服务器

我的目标是设置一个 Web 服务器,将 http 请求重定向到另一台服务器。例如,当 URL/域发生变化时。

我想为旧域名创建一个 CNAME 记录到重定向服务器(我想在这里设置),然后此服务器重定向到新域名。我让它在一个域名上工作 - 但我只得到第一个重定向。我无法区分服务器名称中的不同主机名。

无论调用什么域,我都只能重定向到第一个主机(尽管服务器名称不匹配)https://newhost.example.com/

我的配置如下。

#first host
<VirtualHost *:80>
    ServerName test1.example.com
    redirect 301 / https://newhost.example.com/
</VirtualHost>

#second host
<VirtualHost *:80>
    ServerName test2.example.com
    redirect 301 / https://different.example.com/
</VirtualHost>

目前仅在 http 上进行测试,之后希望实现 https。;-)

答案1

通过切换到模块 mod_rewrite 修复了这个问题并使用了以下配置:

<VirtualHost *:80>
    ServerName test1.example.com
        RewriteEngine On
        RewriteCond %{HTTP_HOST} test1\.example\.com$ [NC]
        RewriteRule ^ https://newhost.example.com%{REQUEST_URI} [L,R=301,NE]
</VirtualHost>

相关内容