Apache Zend子文件夹作为子域的DocumentRoot提供了无效的控制器,认为文件夹名称是控制器

Apache Zend子文件夹作为子域的DocumentRoot提供了无效的控制器,认为文件夹名称是控制器,apache,zend-framework,subdomain,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上浏览网站时,它总是向

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

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

 define('SiteUrlUser','http://'.$_SERVER['HTTP_HOST'].'/account/');
一个子域的DocumentRoot设置为

 DocumentRoot /var/www/account
当我在subomdain.domain.com上浏览网站时,它总是向URL添加/account,这是正常的,但随后会抛出此错误

致命错误:未捕获的异常“Zend\u控制器\u调度程序\u异常”,消息“指定的控制器无效(帐户)”

现在,如果我在通过子域访问站点时从任何URL中删除/account,页面就会呈现得很好。因此,子域中的www.domain.com/account/something.html基本上是subdomain.domain.com/something.html,它工作得非常好

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


谢谢

我不会将该项目嵌套在另一个非zend项目中,我会将它自己的根放在另一个项目的web可访问目录之外,并将子域指向那里。然后只需通过路由将您的模块/控制器帐户设置为默认值

但是,如果您确实嵌套了它们,则必须设置


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

没有父项目。根文件夹/var/www是wordpress安装,/var/www/account是zend安装(原始成员区),现在希望将其完全移动到另一个服务器,该服务器将处理所有子域。那么我所说的“父项目”就是wordpress安装。我会按照你的建议做,并将zend内容完全保留在wrodpress结构之外,例如,我可能会将wordpress docroot更改为
/www/somename
,然后使用
/var/www/accounts/public
作为zend项目的web根。因此,在文件系统方面,它们将被完全隔离。