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位于文档根目录之外,则必须使用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拥有多个站点?的主要内容,如果未能解决你的问题,请参考以下文章
如何为多用户 Java 应用程序设计/保留用户角色(当前和已注册)?