作为子域的DocumentRoot的Zend子文件夹给出了无效的控制器思想文件夹名称是一个控制器

时间:2011-11-26 00:35:52

标签: apache zend-framework subdomain

我有一个位于/ account子文件夹中的zend项目。我希望能够创建子域虚拟主机并将其DocumentRoot指向此子文件夹

在index.php中,我有一行设置zend项目文件夹的URL

 define('SiteUrlUser','http://'.$_SERVER['HTTP_HOST'].'/account/');

一个子域的DocumentRoot设置为

 DocumentRoot /var/www/account

当我在subomdain.domain.com浏览该网站时,它总是将/帐户添加到正常的网址,但随后会抛出此错误

致命错误:未捕获的异常'Zend_Controller_Dispatcher_Exception',消息'指定了无效的控制器(帐户)'

现在,如果我在通过子域访问网站时从任何URL删除/帐户,页面呈现就可以了。因此,子域名中的www.domain.com/account/something.html基本上是subdomain.domain.com/something.html,它运行得非常好。

我打算设置服务器,以便所有用户都可以通过他们的子域登录。 zend文件夹将放在它自己的服务器上,并用作所有子域的DocumentRoot,那么我将在index.php中更改哪些内容才能使其工作?

由于

1 个答案:

答案 0 :(得分:0)

我不会将项目嵌套在另一个非zend项目中,我会将其自己的root用户放在另一个项目的web可访问目录旁边并指向子域。然后通过路由将您的模块/控制器设置为默认帐户。

但是如果你嵌套它们,那么你必须设置baseUrl

如果父项目也是zend应用程序,那么我将两者合并在一起并使用路由来处理子目录映射,这样您就可以执行通配符vhost并将它们全部指向文件系统上的相同应用程序实例。