HTTP到HTTPSredirect不工作!? – 尝试了多种方法

我从Godaddy购买了标准UCC SSL最多100包。 我在我的服务器上安装了所有必需的文件,并且转到https://www.example.com工作正常,但http://www.example.com未转发到https://版本…在某些浏览器。 这是为什么?

此网站是运行Apache最新版本的Ubuntu Linux机器上的虚拟主机。

我的configuration如下:

<VirtualHost *:80> ServerName example.com ServerAlias www.example.com UseCanonicalName Off DocumentRoot /var/www/vhosts/example.com/httpdocs Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost _default_:443> ServerName example.com ServerAlias www.example.com UseCanonicalName Off DocumentRoot /var/www/vhosts/example.com/httpdocs ErrorLog ${APACHE_LOG_DIR}/example.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/example-access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl-all/example.com/example.crt SSLCertificateKeyFile /etc/apache2/ssl-all/example.com/example.key SSLCertificateChainFile /etc/apache2/ssl-all/example.com/gd_bundle-g2-g1.crt <Directory /var/www/vhosts/example.com/httpdocs> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Options Order allow,deny allow from all <IfModule mod_php5.c> php_admin_flag engine on </IfModule> # 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 </Directory> </VirtualHost> 

还尝试更换与下面的redirect,没有运气:

  RewriteEngine On RewriteCond %{SERVER_PORT} !443 RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L] 

和:

  RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://www.example.com/%{REQUEST_URI} [R=301,L] 

事情是要http://www.example.com在Chrome中正确转发,而不是在Firefox中…我已经在两个浏览器清除caching,重新启动我的服务器,重新加载Apache,重新启动两个浏览器。

与我的客户同样的事情,如果他们直接去https://www.example.com工作正常…如果他们去http://版本,它只是不会转发。

任何想法,我还可以尝试让这个全面的工作? 我认为这是caching问题,但现在已经超过了48个小时,而且我已经清理了很多次,我无法计数。