我最近build立了一个运行在Wordpress上的新网站,它运行的非常好。 因为我想为网站获得一个SSL证书,所以我想我会使用Let's Encrypt,因为我已经听到很多关于它的好消息。
那么我不得不同意花了30秒让SSL在我的域上工作,但有一个小问题。
我们encryption已经设置了以下规则:
http://domain.com – > https://domain.com (失败)
http://www.domain.com – > https://www.domain.com (作品)
该证书只适用于www.domain.com这是令人讨厌的。 在过去,我购买的所有SSL证书在SSL证书中都包含domain.com和www.domain.com。 不知道在获取Let's Encrypt证书时是否做错了,但事实就是如此。
我所需要做的就是改变事情,以便http://domain.comredirect到https://www.domain.com 。
但是因为我是Apache新手,所以不知道该怎么做。 我在.htaccess文件中有下面的redirect规则,但似乎没有帮助,因为Apache似乎在请求到达.htaccess文件中的重写规则之前redirect。 这是规则:
RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
所以我很困扰这个特殊的问题。 该网站正确地从domain.comredirect到www.domain.com之前我添加SSL证书,所以它似乎是让我们encryption自动化安装,我找不到它。
这是重写规则让我们的encryption添加到我的Apacheconfiguration文件:
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,QSA,R=permanent]
我认为这与上面的线有关,但我不知道是什么。
任何帮助,将不胜感激。
您需要为非www域创build单独的VirtualHost并像这样设置redirect:
<VirtualHost *:80> ServerName domain.com Redirect 301 / https://www.domain.com </VirtualHost>
基本上,将上面的代码添加到你的httpd.conf应该可以解决你的问题。 虽然你可能想要咨询你的操作系统文档在ow添加虚拟主机到Apache …