HY,
我有3个应用程序,我必须让它们工作而不会互相干扰。我正在开发一个应用程序,客户端(注册后)可以有一个子域。为此我使用的是dns通配符
流程为:
...... ServerName xxx.de .....
.... ServerName * .xxx.de ....
在代码中的任何请求..我正在检查所请求的URL子域是否存在现有的DB条目。如果是,那么我正在显示他的个人资料子域...如果不是那么我; m重定向到主要的xxx.de网站。
在同一台服务器上,我还有一个使用相同域名的另一个应用程序的测试版本testingapp2.xxx.de
.... ServerName testingapp2.xxx.de ....
:)你已经猜到了......因为第二个应用程序现在第三个不能正常工作,因为在第二个应用程序中,如果有一个客户端匹配所请求的子域并重定向到主要公司网站。
使所有3个或更多应用程序协同工作的解决方案是什么?
由于
答案 0 :(得分:0)
您可能只需要考虑应用网址规则的顺序。 如果您创建特殊情况子域列表,则应在检查用户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列表,只需明确设置"特殊应用的路径"在设置通配符之前。
希望有所帮助!
答案 1 :(得分:0)
Hy,
不工作我认为解决方案是在服务器端配置apache vhosts但仍然没有弄清楚:(
<强>更新强>
一种解决方案是通过从以下位置重新命名vhost文件来强制apache读取第一个testingapp2.xxx.de虚拟主机:
testingapp2.xxx.de到0testingapp2.xxx.de
还有其他解决方案吗? ..这似乎只是一个黑客