【发布时间】:2022-01-11 11:03:31
【问题描述】:
使用 ubuntu / apache 配置网站时遇到以下问题:
我有两个网站,比如说 xxx.com 和 yyy.com
我的问题是,我们决定将网站合并到 yyy.com,从而将所有从 xxx.com 的请求重定向到 yyy.com
然后我把它放在我的配置文件中:
<VirtualHost *:80>
ServerName xxx.com
Redirect / https://www.yyy.com/en/xxx
</VirtualHost>
<VirtualHost *:80>
ServerName www.xxx.com
Redirect / https://www.yyy.com/en/xxx
</VirtualHost>
这是我尝试在 url 中访问时的结果:
- xxx.com 移至新网站(成功)
- www.xxx.com 移至新网站(成功)
- h t t p s://www.xxx.com FAILED -> 我的 Chrome 出现此错误:“无法访问此站点。连接已重置。”
我不知道这是否相关,但我的 xxx.com 使用的是正 SSL 通配符。
当我使用 https:// 访问我的 xxx 网站时,为什么我的重定向不起作用?
如果问题非常基本,我很抱歉。非常感谢您的帮助。
【问题讨论】:
-
到目前为止,您已经为端口 80 设置了两个虚拟主机。 HTTPS 使用端口 443。因此,除非您设置虚拟主机来监听该端口,否则 没有任何 Chrome 可以连接。
-
顺便说一句,您不需要两个单独的 VHost 来覆盖
xxx.com和www.xxx.com- 您可以使用ServerAlias指令在同一 VHost 中指定备用主机名。 -
嗨@CBroe,谢谢你的解释。我添加了以下配置:
ServerName xxx.com Redirect / yyy.com/en/xxx ServerName www.xxx.com Redirect / yyy.com/en/xxx 但似乎是重定向还是不行。 -
浏览器是否首先连接到这些 URL 的 HTTPS 版本?只有当您拥有这些域的有效 SSL 证书并在这些虚拟主机中正确配置时,才会发生这种情况。否则,浏览器将无法创建与服务器的安全连接,并且会在它们甚至可以相互“说 HTTP”之前断开连接。因此,在这种情况下,您将无法重定向到任何地方。
标签: apache .htaccess ubuntu redirect