【问题标题】:Configure one virtual host handling specific subdomain (or directory) and another virtual host catching all others配置一个处理特定子域(或目录)的虚拟主机和另一个捕获所有其他虚拟主机
【发布时间】:2012-12-28 16:10:19
【问题描述】:

我想用自己的 DocumentRoot 为 subdomain.mydomain.tld 配置一个 VirtualHost。 和另一个拥有自己 DocumentRoot 的 VitualHost 捕获所有其他人。

我试过了

<VirtualHost *:80>
    ServerAlias subdomain.mydomain.tld
...
</VirtualHost >

<VirtualHost *:80>
    ServerAlias *.mydomain.tld mydomain.tld
...
</VirtualHost >

它没有正常工作......

还有其他建议吗? 如果没有办法解决这个问题,我想将一个虚拟主机映射到 mydomain.tld 的子文件夹,让其他虚拟主机处理其余的,但不知道如何做到这一点。

提前致谢。

【问题讨论】:

    标签: apache2 subdomain virtualhost


    【解决方案1】:

    如果你没有指定ServerName apache 可能会对应该使用哪个虚拟主机来处理请求感到困惑。

    尝试如下弹出ServerName

    <VirtualHost *:80>
        ServerName subdomain.mydomain.tld
    ...
    </VirtualHost >
    
    <VirtualHost *:80>
       ServerName mydomain.tld 
       ServerAlias *.mydomain.tld 
    ...
    </VirtualHost >
    

    【讨论】:

    • 实际上我已经像你一样指定了 ServerName。您是否出于某种原因遗漏了子域的服务器别名?
    • 是的,servername 和 serveralias 都可以帮助 apache 识别虚拟主机。如果它只有一个名称,则不需要别名。
    • 谢谢.. 似乎有效。我可能对旧的缓存 R=301 重定向有另一个问题。该解决方案至少适用于另一个浏览器;)
    猜你喜欢
    • 2012-12-03
    • 2010-10-07
    • 1970-01-01
    • 2014-11-04
    • 2019-11-14
    • 2014-10-14
    • 1970-01-01
    • 2010-10-11
    • 2019-09-12
    相关资源
    最近更新 更多