【问题标题】:Apache ServerAlias not redirecting to correct ServerNameApache ServerAlias 未重定向到正确的 ServerName
【发布时间】:2016-02-03 04:10:25
【问题描述】:

我正在尝试在我的 Amazon EC2 实例上设置多个 wordpress 站点。这是我的 httpd.conf 文件的样子:

<VirtualHost *:80>
   ServerName www.domain1.com
   ServerAlias domain1.com
   DocumentRoot /var/www/html/domain1
</VirtualHost>

<VirtualHost *:80>
   ServerName www.domain2.co
   ServerAlias domain2.co
   DocumentRoot /var/www/html/domain2
</VirtualHost>

所以,当我在浏览器中输入 domain1.com 或 www.domain1.com 时,它会正确重定向到我想要的内容, www.domain2.co 也是如此。但是,当我进入 domain2.co 时,它不会指向 ServerName www.domain2.co,而是指向第一个 VirtualHost 设置 www.domain1.com。

我在这里错过了什么?

【问题讨论】:

    标签: apache amazon-ec2


    【解决方案1】:

    试试这个。如果没有找到匹配的虚拟主机,Apache 将默认使用第一个虚拟主机,这意味着您的第二个虚拟主机被忽略。我们使用 www。作为别名,域作为服务器名称。看看这是否有帮助。

    <VirtualHost *:80>
       ServerName domain1.com
       ServerAlias www.domain1.com
       DocumentRoot /var/www/html/domain1
    </VirtualHost>
    
    <VirtualHost *:80>
       ServerName domain2.com
       ServerAlias www.domain2.com
       DocumentRoot /var/www/html/domain2
    </VirtualHost>
    

    【讨论】:

    • 嘿伙计,刚刚试过这个和同样的事情,www.domain2.co 工作但 domain2.co 指向第一个设置。
    • 我刚刚注意到您在虚拟主机定义中有 .co 而不是 .com .. 这是故意的吗?
    • ... 因为那肯定会导致您描述的问题。
    • .co 是第二个域的扩展名。
    • 这听起来可能很奇怪,但我已经看到像“.co”或“.us”这样的不常见的域扩展名没有被 DNS 正确处理。可能是您的 Apache 服务器无法解析 .co 域。如果它无法解决它们,它将按照您的描述进行。
    【解决方案2】:

    弄清楚了,当 domain2.co 指向 domain1.com 时,浏览器会缓存以前的数据。因此,即使我为 domain2.co 正确设置了虚拟主机,浏览器仍会从 domain1.com 加载以前缓存的数据。

    解决方案是清除浏览器数据。

    发现影响此情况的另一个因素可能是您的 ISP。

    在此处阅读更多信息:https://sg.godaddy.com/help/what-factors-affect-dns-propagation-time-1746

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2016-03-28
      • 2015-11-03
      • 1970-01-01
      • 2013-10-03
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多