将Apache vhost.conf中的裸域redirect到www(使用SSL)

我search了论坛,但似乎无法find一个工作的解决scheme。

我的主要网站是https www.domain.com

我希望以下也被redirect到它:

http www.domain.com http domain.com https domain.com

从评论添加:

好吧,我现在拥有的是apache的vhost.conf中的以下内容:

<VirtualHost :80> ServerName www.domain.com ServerAlias www.domain.com domain.com </VirtualHost> 

在我的.htaccess我有以下几点:

 RewriteCond %{HTTP_HOST} ^domain\.com RewriteRule ^(.)$ domain.com/$1 [R=permanent,L] 

一切工作,除了domain.com给出一个未发现的错误。 只是为了澄清SSL由CDN托pipe,因此在服务器上,所以Apache本地运行的端口80只。 – 詹姆斯1小时前

search引擎合规的最简单和最好的方法是下面的.htaccess:

 RewriteEngine on RewriteCond %{HTTP_HOST} ^domain\.com RewriteRule ^(.*)$ http://www.domain.com$1 [R=permanent,L] 

这会将domain.comredirect到www.domain.com。

要启用https,您需要为SSLconfigurationapache

基于评论信息的新答案:

首先,你的vhost.conf中有一个错误。 你不需要在ServerName和ServerAlias都有www.domain.com。 别名列出了除ServerName以外的所有其他虚拟主机名称。 所以这些行应该是:

 ServerName www.domain.com ServerAlias domain.com 

既然你在虚拟主机中有两个主机名,那么就不需要重写了,除非你特别想让浏览器的地址栏中的URL变成www.domain.com而不是domain.com。


下面的原始答案

您需要执行以下操作:

  • 为domain.com设置DNSlogging以指向与www.domain.com相同的地点
  • 设置您的networking服务器在端口80以及端口443上作出响应
  • 设置您的networking服务器,以便将domain.com视为与www.domain.com相同。

有关如何操作的进一步帮助,请告诉我们您到目前为止所做的工作,并提出具体的问题。