Apache:如何为一个ServerName拥有多个站点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache:如何为一个ServerName拥有多个站点?相关的知识,希望对你有一定的参考价值。

我有一个站点testing.mycompany.com/api和testing.mycompany.com/web。如何在apache中配置?

<VirtualHost *:80>

        ServerName testing.somedomain.com
        ServerAlias testing.somedomain.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/project-2/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>


<VirtualHost *:80>

        ServerName testing.mycompany.com/api
        ServerAlias testing.mycompany.com/api

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/project-1/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我按上述方式配置它的那一刻,将会回退到第一个虚拟主机(testing.somedomain.com)。

当我删除/ api时,它的工作原理。但是我想用/ web配置另一个虚拟主机。我怎么能做到这一点?显然ServerName不允许根网址后的路径?

答案

testing.mycompany.com是ServerName

/ api和/ web是AliasLocation

如果/ api和/ web位于文档根目录之外,则必须使用Alias。

例如:

test.mycompany.com的文档根目录= / var / www /

/ api是/ opt / myapi中的html页面

/ web是/ opt / web中的php页面

因此,在您的serverName中,您需要2个别名。

<VirtualHost *:80>

        ServerName testing.mycompany.com
        ServerAlias testing.mycompany.com

        Alias /api /path/to/folder/where/is/api/files
        Alias /web /path/to/folder/where/is/web/files

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/project-1/

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

以上是关于Apache:如何为一个ServerName拥有多个站点?的主要内容,如果未能解决你的问题,请参考以下文章

如何为多平台phonegap/cordova开发组织代码

apache的配置和多站点配置

如何为多用户 Java 应用程序设计/保留用户角色(当前和已注册)?

Weblogic 12c:如何旋转 servername.out 文件

如何为相同的产品风味拥有多个 ApplicationId?

如何为拥有多个设备的用户管理 APN 令牌?