【问题标题】:configure a subdomain in apache version 2.4.*在 apache 2.4 版中配置子域。*
【发布时间】:2014-06-04 17:37:10
【问题描述】:

我的 httpd-vhosts.conf 文件中有以下子域配置:

<VirtualHost *:80>
    ServerAdmin foo@bar.com
    DocumentRoot "/home/www"
    ServerName bh.dev
    ServerAlias *.bh.dev
    ErrorLog "/var/log/apache2/bh-error_log"
    CustomLog "/var/log/apache2/bh-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/srv/www/htdocs"
    ServerName blog.bh.dev
    ErrorLog "/var/log/apache2/bh-error_log"
    CustomLog "/var/log/apache2/bh-access_log" common
</VirtualHost>

bh.devbh.dev/blog URL 已成功显示,但 blog.bh.dev 未成功显示。有什么问题?

提前谢谢你。

【问题讨论】:

    标签: linux apache virtualhost


    【解决方案1】:

    blog.bh.dev 请求由第一个定义本身处理,因为它也有资格在bh.dev 下。所以把第二个虚拟主机定义放在第一个上面就可以解决问题了。

    <VirtualHost *:80>
        DocumentRoot "/srv/www/htdocs"
        ServerName blog.bh.dev
        ErrorLog "/var/log/apache2/bh-error_log"
        CustomLog "/var/log/apache2/bh-access_log" common
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerAdmin foo@bar.com
        DocumentRoot "/home/www"
        ServerName bh.dev
        ServerAlias *.bh.dev
        ErrorLog "/var/log/apache2/bh-error_log"
        CustomLog "/var/log/apache2/bh-access_log" common
    </VirtualHost>
    

    作为一般规则,我总是将更具体的定义放在更通用的定义之上。

    【讨论】:

    • 我已按照您的建议替换了虚拟主机的定义,但遗憾的是问题没有解决。
    • 在此之后您需要重新启动 apache
    • 当然我每次编辑配置文件的时候都重启了apache。
    猜你喜欢
    • 2014-12-28
    • 2016-04-13
    • 2018-07-24
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2017-10-01
    • 2019-11-11
    • 1970-01-01
    相关资源
    最近更新 更多