Apache 上的虚拟主机未应用 301 重定向

Apache 上的虚拟主机未应用 301 重定向

我在运行 Apache 2 的 Amazon EC2 实例上有一个 Ubuntu 18.04 服务器,安装了 SSL 证书,我专门用它来托管 .tld 变体的虚拟主机policymakr.com域,共享同一个固定IP。

我希望配置能够实现以下目标:

  1. 主域(policymakr.domains,具有 index.html 页面,可通过 SSL 在服务器上访问)可在服务器上访问;
  2. 将所有其他顶级域名通过 301 重定向到https://www.policymakr.com由托管的 WordPress 主机单独托管;
  3. 将所有 http 入站 policymakr.domains 流量重定向到 https,并将所有 policymakr.domains 流量重定向到 www.policymakr.domains。

(我这样做的原因是因为我想通过 301 重新映射 tlds 以用于 SEO 目的,而我的 WordPress 网站的主机无法实现这一点,因为该网站托管在共享服务器上。)

我开始设置 tlds,它们重定向得很好。tlds(.net、.org、.info 和 .io)的 .conf 文件都是相同的,如下所示:

<VirtualHost *:80>
   ServerAdmin [email protected]
   ServerName www.policymakr.[tld]
   DocumentRoot /var/www/html/policymakr.[tld]/
   ErrorLog /var/www/logs/error.log
   Redirect 301 / https://www.policymakr.com/
</VirtualHost>

在我设置 tld 虚拟主机之后,301 重定向全部开始完美运行。

我一直为 policymakr.domains 设置虚拟主机,因为需要安装外部 SSL 证书(Amazon 证书似乎无法附加到 EC2 实例)会增加一点复杂性。

我设置的policymakr.domains虚拟主机如下:

<VirtualHost *:80>
   ServerAdmin [email protected]
   ServerName www.policymakr.domains
   ServerAlias policymakr.domains
   DocumentRoot /var/www/html/policymakr.domains/
   ErrorLog /var/www/logs/error.log
   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^policymakr\.domains
   RewriteRule ^(.*)$ http://www.policymakr.domains/$1 [R=permanent,L]
</VirtualHost>

<VirtualHost *:443>
   ServerName www.policymakr.domains
   ServerAlias policymakr.domains
   DocumentRoot /var/www/html/policymakr.domains/
   SSLEngine on
   SSLCertificateFile /etc/apache2/ssl/[crt file name]
   SSLCertificateKeyFile /etc/apache2/ssl/private/[private key]
   SSLCertificateChainFile /etc/apache2/ssl/[bundle file]
   RewriteEngine on
   RewriteCond %{HTTPS_HOST} ^policymakr\.domains
   RewriteRule ^(.*)$ https://www.policymakr.domains/$1 [R=permanent,L]
</VirtualHost>

此后,policymakr.domains 的重定向完全按照我的要求运行(即,非 www 到 www,http 到 https),但其他顶级域名的 301 重定向已停止工作。相反,它们现在全部重定向到https://www.policymakr.domains

我基本上不知道我在这里做错了什么。

答案1

整个配置实际上在几个小时后就成功了,这可能是某种缓存问题。我唯一添加的更改是ServerAlias policymakr.[tld]每个.conf文件中的一个条目。

相关内容