在 Apache 上将 HTTPS 重定向到 HTTP

在 Apache 上将 HTTPS 重定向到 HTTP

我有一个主域名和几个辅助域名,它们由使用 Apache 服务器的商业网络托管服务托管。每个域名都有自己的.htaccess文件。我只有一个 SSL 证书,这是我所需的全部证书,用于主域名。

但是,如果我在 URL 框中输入(或搜索引擎指向)HTTPS://secondarydomain.com,我会收到有关安全证书无效的网页警告。当我确认异常时,浏览器会显示与证书绑定的主域。我读了这篇文章:SSL 优先级。在这种情况下,我是否根本无法将辅助域从 HTTPS 重定向到 HTTP?

编辑以澄清:我希望服务器仅将 SSL 证书应用于主域。子域是完全不相关的域。访问这些子域的人看到带有不相关网站名称的 SSL 证书只会感到困惑。这就是为什么我希望可以在这些子域的 .htaccess 文件中放入一些东西,以使服务器绕过或忽略主域的 SSL 证书。

编辑:我也尝试在 .htaccess 中使用以下行进行无条件重定向

RewriteEngine on
Redirect / "http://m y d o m a i n .com/"

答案1

我们以前也遇到过这样的情况:我们的客户端应用程序无法支持,HTTPS我们需要重定向回。我们使用上的HTTPApache强制将特定应用程序重定向回。redirect permanentvirtualhostHTTPSHTTP

您也许可以使用他们所说的以下参考资料htaccesshttps://httpd.apache.org/docs/2.4/rewrite/remapping.html

以下片段可能有助于您实现您的目标:

<If "%{SERVER_PROTOCOL} != 'HTTP'">
    Redirect / "http://secondarydomain.com/"
</If>

htaccess自从我们使用以来,我还没有尝试过使用来管理重定向virtualhosts,但这似乎也可以实现htaccess

相关内容