【问题标题】:httpd VirtualHost overwrite another VirtualHosthttpd VirtualHost 覆盖另一个 VirtualHost
【发布时间】:2017-12-10 03:48:16
【问题描述】:

我有一个问题,我的 VirtualHost 正在覆盖同一域上的另一个 VirtualHost。

httpd.conf

IncludeOptional conf.d/*.conf

example.conf

<VirtualHost *:80>
        DocumentRoot /var/www/html/example/
        ServerName www.example.com
        ServerAlias www.example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
    DocumentRoot /var/www/html/example/
    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/example/example.crt
    SSLCertificateKeyFile /etc/httpd/ssl/example/example.key
    SSLCertificateChainFile /etc/httpd/ssl/example/chain.cer
    ServerName www.example.com
    ServerAlias www.example.com
</VirtualHost>

get.example.conf

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

当我创建get.example.conf时,当我访问example.com时,显示的是get.example.com的内容

有人知道我的配置出了什么问题吗?

【问题讨论】:

  • 因为你没有example.com的配置,只有www.example.com。尝试添加 ServerName example.com 和 ServerAlias www.example.com。就是这样。

标签: apache httpd.conf


【解决方案1】:

发现我还需要为 VirtualHost 包含非 www。如果我输入 www.example.com 而不是 example.com,它会起作用。

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>

【讨论】:

  • 你需要添加一个带有 www 的 ServerAlias
【解决方案2】:

您只需设置 de ServerAlias。 在您的示例中,执行以下操作就足够了:

<VirtualHost *:80>
        DocumentRoot /var/www/html/example/
        ServerName example.com
        ServerAlias www.example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>

请注意,ServerName 没有 www.,因此它将匹配 http://example.com,而与 ServerAlias 会匹配 http://www.example.com

【讨论】:

    【解决方案3】:

    尝试将ServerNameServerAlias 的顺序更改为您的get.example.conf:

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

    【讨论】:

    • Order no matter 是设置的单个文件
    猜你喜欢
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 2015-12-06
    • 2014-02-22
    • 1970-01-01
    • 2016-12-20
    • 2011-07-20
    相关资源
    最近更新 更多