Apache环境下Android Chrome无法识别SSL及域名跳转配置求助
解决Android Chrome开启“始终使用安全连接”后裸域名SSL跳转问题
正确的.htaccess配置方案
直接替换你现有的配置,用这套规则可以覆盖所有场景(裸域名HTTP/HTTPS、www域名HTTP),统一跳转到https://www.truesellerwebstore.com:
<IfModule mod_rewrite.c> RewriteEngine On # 统一处理HTTPS强制和www跳转 RewriteCond %{HTTP_HOST} !^www\. [NC,OR] RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^(?:www\.)?(truesellerwebstore\.com)$ [NC] RewriteRule ^(.*)$ https://www.%1/$1 [L,R=301,NE] </IfModule>
你之前配置的问题分析
- 模块触发条件错误:部分规则放在
<IfModule ssl_module>里,当Chrome自动用HTTP访问裸域名时,SSL模块未激活,导致规则完全不生效。 - 正则表达式错误:比如
^\(\.\*\)$这种写法完全不符合语法,正确的路径匹配应该是^(.*)$。 - 变量使用错误:用
%{HTTP_HOST}匹配http://truesellerwebstore.com/是错误的,HTTP_HOST只存储域名,不包含协议和路径,永远匹配不到。 - 规则顺序混乱:未按“先统一协议、再统一域名”的逻辑排序,导致部分场景覆盖不全。
额外注意事项
- 测试前务必清除浏览器缓存,301跳转是强缓存的,之前的错误跳转记录会影响测试结果。
- 确认你的SSL证书包含
truesellerwebstore.com和www.truesellerwebstore.com(SAN多域名证书)。 - 检查Apache已开启
mod_rewrite模块,且网站根目录的AllowOverride设置为All,确保.htaccess生效。
内容的提问来源于stack exchange,提问作者True Seller
相关产品推荐
相关产品推荐

