Dns 如何使三个使用相同域名的应用程序协同工作

Dns 如何使三个使用相同域名的应用程序协同工作,dns,wildcard,subdomain,virtual-hosts,Dns,Wildcard,Subdomain,Virtual Hosts,Hy 我有3个应用程序,我必须使它们在不相互干扰的情况下工作。我正在开发一个应用程序,其中客户端(注册后)可以有一个子域。为此,我使用dns通配符 流程是: 我在xxx.de(wp演示网站)上有公司网站-第一个虚拟主机 ...... 服务器名xxx.de ..... 用户在公司主网站上注册自己。注册后,在第二个应用程序(zend应用程序-具有子域的应用程序)上创建一个新的DB条目。。基本上创建用户配置文件并保存在DB hist配置文件子域中:client1.xxx.de、client2.xx

Hy

我有3个应用程序,我必须使它们在不相互干扰的情况下工作。我正在开发一个应用程序,其中客户端(注册后)可以有一个子域。为此,我使用dns通配符

流程是:

  • 我在xxx.de(wp演示网站)上有公司网站-第一个虚拟主机
  • ...... 服务器名xxx.de .....

  • 用户在公司主网站上注册自己。注册后,在第二个应用程序(zend应用程序-具有子域的应用程序)上创建一个新的DB条目。。基本上创建用户配置文件并保存在DB hist配置文件子域中:client1.xxx.de、client2.xxx.de等
  • .... 服务器名*.xxx.de ....

  • 应任何要求。。在代码中,我正在检查请求的URL子域是否存在DB条目。。如果是,那么我将显示他的个人资料子域。。。如果不是,那么我;我正在重定向到主xxx.de网站

  • 在同一台服务器上,我还有另一个应用程序的测试版本,使用相同的域名testingapp2.xxx.de

  • .... ServerName testingapp2.xxx.de ....

    :)你猜对了。。。因为第二个应用现在第三个不起作用,因为在第二个应用上,我总是在数据库中检查是否有一个客户端匹配请求的子域并重定向到公司的主网站

    让所有3个或更多应用程序协同工作的解决方案是什么


    谢谢

    你可能只需要考虑应用URL规则的顺序。 如果您创建了一个特殊情况子域列表,那么您应该在检查用户ID之前检查这些子域

    检查用户ID(通配符)应该是默认选项。有点像这样的伪代码:

    if ((URL.startsWith(xxx.de) || URL.startsWith(www.xxx.de))
     serve wp_presentation_website 
    else if (URL.startsWith(testingapp2.xxx.de)) // you can add more of these
     serve testingapp2
    else serve client_profile // if this fails, it should still redirect home
    
    我不完全确定你在哪里检查或者你在使用什么语言,所以希望这是适用的。如果它类似于.htaccess列表,只需在设置通配符之前显式设置“特殊应用”的路径

    希望有帮助

    Hy

    不起作用我认为解决方案是通过配置apache vhosts在服务器端实现的,但仍然没有找到解决方案:(

    更新:

    一种解决方案是通过从以下位置重新命名vhost文件,强制apache读取first testingapp2.xxx.de虚拟主机:

    测试pp2.xxx.de至0测试pp2.xxx.de

    还有其他的解决办法吗?这似乎只是一种破解