在htaccess中使用https协议时删除www

时间:2013-10-04 15:18:07

标签: .htaccess mod-rewrite ssl web https

首先,我购买了一个不允许使用通配符的多域SSL证书(例如* .mydomain.com)。

当我想要连接到我的网站时,如果我通过https://mydomain.com,它可以正常工作。现在,如果我通过https://www.mydomain.com,我的浏览器会有一个很好的警报页面,说我必须添加一个例外,blahblahbla ...所以我知道我有这个警报因为SSL证书没有管理 www 通配符。

我决定在htaccess中创建一条规则,以便将用户从https://www.mydomain.com重定向到https://mydomain.com。但是我的浏览器似乎不理解这个规则,每次我通过https://www.mydomain.com时都会留在https://www.mydomain.com

这是我的规则:

RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [L,R=301]

有关信息,我使用Virtualmin来管理我的域名。

谢谢!

1 个答案:

答案 0 :(得分:2)

不幸的是,.htaccessmod_rewrite在消除浏览器安全警告方面没有任何帮助。

原因是SSL证书协商发生在mod_rewrite有机会启动之前。

当您购买SSL证书时,我相信您可以选择适用于www和非www域的证书。