当我们在浏览器地址栏中输入 example.com
时,它将重定向到 https://example.com
并且内部页面也工作(重定向到 https
网站),
问题 1:
当我们在浏览器地址栏中输入 www.example.com
时,它不会重定向到 https://www.example.com
并且在没有 的情况下加载网站https
,但内页重定向到 https
问题 2:
https://example.com/file.php
显示当前内容,但 http://www.example.com/file.php
显示旧内容,我们检查了隐身模式并清除了缓存
问题3:(这可能是问题的根本原因)
当我们通过访问 url http://www.example.com/server.php
看到 $_SERVER
参数时,显示 HTTPS
值作为 on
我们print_r
server.php
文件中的$_SERVER
环境:
- Godaddy VPS 服务器
- Apache 2.3.1(启用
mod_rewrite
) - PHP 5.4.45
- WordPress的
- 已配置有效的 SSL 证书 - 已打开所需端口 (80、443)
在 Wordpress 设置中,
我们为 Site url
和 Home page url
放置了 https
地址作为 https://example.com
我们在 .htaccess
中使用以下代码进行重定向
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} ^www\.example.com$
RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [L,R=301]
我们还检查了以下网站,它们对 SSL
显示了积极响应
https://www.sslshopper.com
, whynopadlock.com
每次我们通过清除缓存和 cookie 进行检查
DNS 记录:
A(主机)
- 主机
@
指向xx.xx.xx.xx
,TTL600 秒
CName(别名)
- 主机
www
指向@
,TTL1 小时
请建议我如何解决 www.example.com
到 https
最佳答案
我在 .htaccess 文件中使用以下代码将 http 请求重定向到 https。
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_USER_AGENT} !MSIE/[1-8]\. [NC]
RewriteCond %{HTTP_HOST} www.example.com
RewriteRule ^.*$ https://www.example.com%{REQUEST_URI} [L,R=301]
关于wordpress - www.example.com 不重定向到 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42640299/