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

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

我搜索过论坛,但似乎找不到可行的解决方案。

我的主站点是 https www.domain.com

我希望将以下域名也重定向到它:

http www.域名.com http 域名.com https 域名.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 托管,因此在服务器上,Apache 本地仅使用端口 80 运行。– James 1 小时前

答案1

根据评论信息得出的新答案:

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

ServerName www.domain.com 
ServerAlias domain.com 

而且由于您的虚拟主机中有两个主机名,因此无需重写,除非您特别希望将浏览器地址栏中的 URL 更改为 www.domain.com 而不是 domain.com。


以下是原始答案

您需要执行以下操作:

  • 设置 domain.com 的 DNS 记录,使其指向与 www.domain.com 相同的位置
  • 设置你的网络服务器以响应端口 80 和端口 443
  • 设置您的网络服务器,以便 domain.com 与 www.domain.com 被视为相同。

如需有关如何执行此操作的进一步帮助,请向我们展示您迄今为止所做的工作并提出具体问题。

答案2

最简单、最好的搜索引擎合规方法是以下 .htaccess:

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

这会将 domain.com 重定向至 www.domain.com。

要启用 https,您需要配置 Apache 以使用 SSL

相关内容