php - 为什么 .htaccess 重写条件以保护非 WWW URL 在移动浏览器上不起作用?

我正在处理的网站有问题。有几个站点位于相同的环境中。服务器使用一个 SSL 证书来保护这些域,例如:domain1.com、http://www.domain1.comhttp://www.domain2.com

SSL 证书不保护没有 www 子域的 domain2.com。

问题是(特别是在移动设备上)domain2.com 没有受到保护。如果我们访问 http://www.domain2.com,它就会受到保护。

为什么在发出站点不安全的警告之前,以下条件在移动设备上无法将站点重定向到 www 版本?

# Redirect Non-WWW to WWW
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.\*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

# Force SSL on entire site
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.\*)$ https://%{HTTP_HOST}/$1 [R,L]

这些是加载 WordPress 之前 .htaccess 文件中的第一条规则。

回答1

基于包括非移动设备在内的浏览器安全设置,在发送http请求之前会显示警告,以防止通过非安全连接暴露信息,这就是modrewrite无法解决这个问题的原因,只是因为它甚至没有被调用。您应该在 SSL 证书中包含您的“domain2.com”作为替代名称。

相似文章

apache - .htaccess:要求所有拒绝不尊重

我已经阅读了面包师的十几个类似问题,其中发现的常见问题并没有帮助我解决这个问题。我真的可以使用一些帮助来解决这个问题。接下来我应该尝试什么?有没有办法解决为什么不遵守这些规则?这是带有WHM/cPan...