如何在同一个域中运行两个不同的网站,一个使用 HTTP,另一个使用 HTTPS?

如何在同一个域中运行两个不同的网站,一个使用 HTTP,另一个使用 HTTPS?

在一个较旧的 Stackoverflow 线程中 (https://stackoverflow.com/questions/20450676/will-using-http-and-https-on-the-same-domain-affect-seo) 我了解到,您可以从同一个域运行两个不同的网站,一个使用 HTTP 协议,另一个使用 HTTPS 协议。我的网络托管商说这不起作用。

我的例子 http://www.csd-i.org https://www.csd-i.org

我之所以要这样做,是因为我想将我们这个有点老旧的网站一分为二。其中一半(HTTP 部分)将是网站现有的会员部分 - 我不想为此更改所有链接 URL。另一半(HTTPS 部分)将是网站公共部分的现代版本,它将具有 SSL 证书并且对移动设备具有响应能力。

问题一:它有效吗?

问题二:如何进行设置?

答案1

我同意 Igancio 的观点,不确定你为什么真的想这样做。但我不会质疑为什么……

在 Apache 中,您只需定义两个不同的 VirtualHost 部分,并定义两个不同的 DocumentRoot。例如:

<VirtualHost *:80>
  DocumentRoot /var/www/oldSite
</VirtualHost> 


<VirtualHost *:443>
  DocumentRoot /var/www/newSite
</VirtualHost> 

答案2

从技术上来说,这是可行的,但在实践中根本行不通。没有人会输入额外的内容https://,导致他们进入旧版页面。

请遵循最佳做法:

  • 为旧站点创建一些http://old.example.com。考虑也向此站点添加 TLS,因为其中涉及用户信息和登录信息。
  • 修复损坏的链接。(此外,反向代理可能会变得方便。)
  • 重定向自http://example.com(和www) 至 之一典范 https://网址。
  • 添加 HSTS 标头。

相关内容