如何在 Apache 上配置动态虚拟主机?

如何在 Apache 上配置动态虚拟主机?

我的应用程序有多个开发分支,我希望能够将它们部署在我的测试服务器上并轻松切换。

我想了解如何配置某种动态虚拟主机,以便在 Web 服务器上拥有:

/myApp/branch1
/myApp/branch2
/myApp/branch3

我可以通过以下方式访问:

http://myapp.example.com/1/
http://myapp.example.com/2/
http://myapp.example.com/3/

我的想法是,我可以上传新的分支,虚拟主机就会知道如何为这些分支提供服务。

我怎样才能做到这一点?

免责声明:我对虚拟主机的了解有限;我希望得到清晰、简单的说明以供我学习。

答案1

如果 URL 中的所有主机名都与示例中的相同 (myapp.example.com),那么您所需要的只是一个带有 RewriteRule 的主机(主主机或虚拟主机,无所谓):

RewriteEngine on
RewriteRule /(\d+)/  /myApp/branch$1

mod_rewrite

如果主机名不同,那么您可以使用mod_vhost_alias一次配置多个虚拟主机。例如将 branch1.example.com 映射到 /myApp/branch1,

VirtualDocumentRoot /myApp/%1

其中%1选取主机名的第一部分,或者branch1在此示例中。

相关内容