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



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

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

问题是(特别是在移动端)domain2.com没有受到保护。如果我们访问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文件中的第一个规则。

基于浏览器安全设置(包括非移动设备),在发送http请求之前显示警告,以防止通过非安全连接暴露信息,这就是modrewrite无法解决此问题的原因,仅仅因为它甚至没有调用。你应该包括你的"domain2.com";作为SSL证书的备选名称。

最新更新