2013-02-13 33 views
0

嗨,我在主域中有一個Zend安裝。 現在我想創建一個子文件夾並運行Zend以進行一些測試。我已將主站點的所有文件複製到名爲www2的子文件夾。但是當我調用像domain.com/www2這樣的子文件夾時,我認爲主要的Zend實例被調用併產生了Message: Invalid controller specified (www2)錯誤?在另一個Zend的子文件夾中的Zend實例

我主要的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] 

什麼我做錯了。我可以完全訪問服務器。

在子文件夾中的Zend

回答

2

文件的應用程序/ bootstrap.php中添加這樣的:

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] 
+0

感謝您的幫助,我是zend新手,請您解釋一下。我的意思是如何/在哪裏添加這個? – niksmac 2013-02-13 07:56:31

+0

我已更新我的帖子 – BattleBit 2013-02-13 08:07:23

+0

嘗試過,但沒有運氣。我懷疑當我調用子文件夾的主要Zend得到調用,它會拋出控制器未發現錯誤。任何其他方式。 – niksmac 2013-02-13 08:11:03

0

您可以創建一個子域www2.domain.com指向www2/public目錄並恢復全部.htaccess fil es到他們正常的單一站點狀態。

這樣,www2副本是完全獨立的應用程序,具有與原始www網站相同的網址和文件結構。

+0

但我沒有訪問域以使域名服務器指向。 – niksmac 2013-02-13 08:01:49

+1

Aaah,我誤解了你對服務器的完全訪問權。抱歉。 ;-) – 2013-02-13 08:54:57

相關問題