2014-01-27 46 views
2

我有一个基于Ubuntu服务器的web服务器与最新版本的Apache和PHP。 我有两个子域,我们称它们为:a.x.com和b.x.com,指向同一台服务器。我使用虚拟主机进行域配置。这工作得很好。 x.com使用通配符SSL可能很重要,因此我的域名拥有一个通用证书。在同一服务器上的多个Laravel设置

在a.x.com上,我安装了Laravel并创建了一个小站点。没关系。

在b.x.com上我也想安装一个单独的Laravel,但是我遇到了一个问题。当我在浏览器中键入b.x.com时,看到的内容与我在a.x.com下看到的完全相同,除了静态对象(如图像)。我试过在Laravel中回显应用程序变量,甚至__DIR__变量也包含a.x.com的路径。

我花了两天的时间寻找解决方案,我认为在Laravel中只有一行我应该改变。

你以前见过这个问题吗?

阿贝尔

+0

这与Laravel很少有关系,它实际上是一个服务器/ apache配置问题。您需要为每个子域设置不同的'DocumentRoot'。 – tplaner

+0

这是VirtualHost设置:http://pastebin.com/PewgWSKC – abelorosz

回答

5

我有完全相同的问题。我正在运行Apache 2.4和PHP 5.5,当我删除Xcache时,问题就消失了。

apt-get remove php5-xcache 
+0

哇。就是这样。谢谢!虽然我不认为你真的需要卸载它。我只是'php5dismod xcache' – gearz

+0

xcache也是我们的问题。卸载它解决了这个问题。当xcache被启用时,行为真的很奇怪。 – Pettis

0

有你在前缀试图组的路线?

Route::group(array('prefix' => 'a'), function() 
{ 
    //Routes for a.x.com 
}); 


Route::group(array('prefix' => 'b'), function() 
{ 
    //Routes for b.x.com 
}); 
+0

这是Laravel的两种不同设置。他们似乎有一个共同的存储东西。如果我重新启动Apache并首先加载a.x.com,则b.x.com将显示与a.x.com完全相同的内容。如果我重新启动Apache并首先加载b.x.com,则a.x.com将与b.x.com完全相同。奇怪的。 – abelorosz

相关问题