我有一个位于/ 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中更改哪些内容才能使其工作?
由于
答案 0 :(得分:0)
我不会将项目嵌套在另一个非zend项目中,我会将其自己的root用户放在另一个项目的web可访问目录旁边并指向子域。然后通过路由将您的模块/控制器设置为默认帐户。
但是如果你嵌套它们,那么你必须设置baseUrl
如果父项目也是zend应用程序,那么我将两者合并在一起并使用路由来处理子目录映射,这样您就可以执行通配符vhost并将它们全部指向文件系统上的相同应用程序实例。