0

嗨,我在主域中有 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]

我在做什么错了。我可以完全访问服务器。

4

2 回答 2

2

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

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]
于 2013-02-13T07:52:33.753 回答
0

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

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

于 2013-02-13T07:58:23.340 回答