【发布时间】:2015-03-07 07:19:15
【问题描述】:
我知道这是一个常见的问题,但我已经尽了自己的一份力量,并尝试了人们对其他问题提出的所有建议,但没有任何结果,所以请多多包涵...
我有一个网站,昨天我购买了 SSL 证书,我设法将网站完全移动到 https,但我仍然遇到这个问题:
当用户尝试使用 WWW 访问 https 上的站点时,我收到证书错误。
Every other combination works fine (http://www to https:// non www works).
所以基本上我的最终目标是让用户从每个组合中访问 URL 的 https://nonwwwversion
示例:用户尝试从类似于
的链接访问站点https://www.example.com/xyz
他们应该被重定向到
https://example.com/xyz
但它不起作用。
该网站是 wordpress,我已经从各个可能的角度对其进行了攻击,但无法使其正常工作,不幸的是托管人员也没有。
SSL 是一种 RapidSSL 标准,它具有非 www。网站版本作为通用名称,也许这就是问题所在?
我的 .htaccess 文件如下所示:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond ^www\. [NC]
RewriteRule ^ https://mysite.com%{REQUEST_URI} [R=301,NE,L]
# BEGIN W3TC Browser Cache
# END W3TC Browser Cache
# BEGIN W3TC Page Cache core
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTPS} =on
RewriteRule .* - [E=W3TC_SSL:_ssl]
RewriteCond %{SERVER_PORT} =443
RewriteRule .* - [E=W3TC_SSL:_ssl]
RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
RewriteRule .* - [E=W3TC_PREVIEW:_preview]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} =""
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html" -f
RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html" [L]
</IfModule>
# END W3TC Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
【问题讨论】: