如何写一个mod_rewrite规则来确定域是不是主域然后改变https://到http://

我为example.com设置了一个带有通配符ssl的WordPress多站点,以安全地访问pipe理区域。 不过,我也使用域映射将其他域映射到其他网站,如alldogs.com到alldogs.example.com。

问题是,当我试图从一个映射域访问网站的前端和pipe理,例如alldogs.com通过点击“访问网站”链接去https://alldogs.com由于强制SSL应用到pipe理区域。 哪个产生证书警告,因为证书是example.com而不是alldogs.com。

如何编写mod_rewrite规则来确定点击的URL /链接是否不是主要的域,例如example.com,然后将https://更改为http://,以便可以通过端口80访问站点,而不生成证书警告该映射域

你不能匹配mod_rewrite中使用的DNS名称。 它只看到查询string; 当客户端发出GET /foo mod_rewrite会在应用规则的时候看着/foo

尝试使用绝对链接(指定完整的URL),而不是使用相对链接链接到启用SSL的区域。

即使可以重写,但仍然会看到警告,因为客户端必须使用“错误的”SSL连接到服务器并发送请求,然后才能获得redirect。

如果重写不容易实现(可以在mod_rewrite文档中查看可以使用的条件),那么您可以轻松地为“错误”域设置一个虚拟主机,将所有内容redirect到正确的URL? 你仍然会看到这个警告,没有办法绕过它。