Zend实例在另一个Zend的子文件夹中

时间:2013-02-13 04:43:55

标签: zend-framework

您好我在主域安装了Zend。 现在我想创建一个子文件夹并运行Zend用于某些测试目的。我已将所有文件从主站点复制到名为www2的子文件夹。但是当我调用像domain.com/www2这样的子文件夹时,我认为主要的Zend实例被调用并产生Message: Invalid controller specified (www2)错误?

主Zend的.htaccess是

SetEnv APPLICATION_ENV development
RewriteEngine on
RewriteCond %{REQUEST_URI} "/www2/"
RewriteRule (.*) $1 [L]

和子文件夹就像

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

我做错了什么。我有完全访问服务器。

2 个答案:

答案 0 :(得分:2)

在文件application / Bootstrap.php中的子文件夹Zend中添加LIKE:

protected function _initRoutes()
{
        $this->bootstrap('frontcontroller');
        /**
         * @var Zend_Controller_Front $front
         */
        $front = $this->getResource('frontcontroller');
        /**
         * @var Zend_Controller_Router_Rewrite $router
         */
        $router = $front->getRouter();
        $router->addRoute('www2',
            new Zend_Controller_Router_Route(
                'www2/:controller/:action',
                array('controller' => 'index',
                      'action' => 'index'))
        );
}

但可能你需要另一条路线......

UPD1: 首先.htaccess像这样:

RewriteEngine On

RewriteCond %{REQUEST_URI}  ^/www2*
RewriteRule ^.*$ www2/index.php [NC,L]

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

答案 1 :(得分:0)

您可以创建指向www2.domain.com目录的子域www2/public,并将所有.htaccess个文件恢复到正常的单站点状态。

这样,www2副本是完全独立的应用程序,具有与原始www站点相同的URL和文件结构。