2014-03-04 47 views
0

经过几天的尝试不同的解决方案,我正在寻找动态虚拟主机的想法。大规模动态虚拟主机解决方案

这里就是我想要做的事:

  • 我有多个客户端访问每一个自己的网站与自己的子域名(即companyx.website.com)
  • 每个客户端分配一个几个文档根据它们运行的​​应用程序的版本而定。他们的数据库和客户端文件由php根据子域引入。
  • 新客户可通过网页界面设置网站。

我可以有一个脚本为apache2生成虚拟主机配置,并将它们链接/取消链接到启用网站,每个配置将客户端发送到其版本的文档根目录。但是这需要脚本根权限和apache重新启动,我不喜欢创建这么多硬文件。

我试过mod_vhost_dbd,客户端映射到mysql数据库中的文档根目录。这将工作很好,除非我真的需要mod_rewrite有漂亮的网址(即http://www.website.com/login变成http://www.website.com/index.php/login)。具有此重写的mod_vhost_dbd会导致内部重定向循环。

我可以想象有一个虚拟主机在Apache中,然后做一些路由在PHP取决于子域。我不确定那会是什么样子......

对此有何想法?我也不反对切换到另一台服务器,比如nginx,但我一直不相信这会有助于这种情况。

任何想法?

回答

0

我知道这是老了,但我有一个答案给你:)

我们使用mod_vhost_alias,并与重定向循环同样的问题。解决方案是确保您的重定向网址是绝对的而不是相对的。即他们以“/”开头。

RewriteRule ^$ app/webroot/ [L] 

你这样做:

RewriteRule ^$ /app/webroot/ [L] 

或者:

RewriteBase/
RewriteRule ^$ app/webroot/ [L] 

好奇,你做了什么?我们目前有一个SaaS产品,我们正在为每个新部署创建一个新的DocumentRoot(使用mod_vhost_alias)。我们正在寻找一种节省磁盘空间的新方法。我们正在查看mod_vhost_dbd,或者使用符号链接粘贴mod_vhost_alias,但尚未确定。我们想要一些可以适应高可用性设置的东西,而符号链接似乎不是一个好的长期解决方案。