我有一個zend站點,其中DocRoot設置爲public /和URL爲 (http://dothat.com/controllerA/action9/) - 哪個工作正常。zend站點需要別名
我還需要在運行在同一文件夾上的同一臺服務器上運行 (http://dothat.com/now/controllerA/action9/)的副本。
(給定的URL就是例子)
請建議上怎麼能這樣不破壞Zend的設置本身來完成。
我有一個zend站點,其中DocRoot設置爲public /和URL爲 (http://dothat.com/controllerA/action9/) - 哪個工作正常。zend站點需要別名
我還需要在運行在同一文件夾上的同一臺服務器上運行 (http://dothat.com/now/controllerA/action9/)的副本。
(給定的URL就是例子)
請建議上怎麼能這樣不破壞Zend的設置本身來完成。
我個人只是在您的Bootstrap中執行一個簡單的Zend路由。
例子:
protected function _initRoutes()
{
$this->bootstrap('frontController');
$frontController = Zend_Controller_Front::getInstance();
$nowRoute = new Zend_Controller_Router_Route("now/:controller/:action");
$frontController->getRouter()->addRoute("now", $nowRoute);
}
航線的Zend是非常強大的,有趣的設定。我實際上有一個外部的.ini文件,使它更容易設置,甚至是環境感知。
怎麼樣的想法:
在Apache中的別名(如果它是你正在使用的http服務器)
Alias /now /path/to/zend/public
<Directory /path/to/zend/public>
SetEnv APPLICATION_ENV development
...
</Directory>
而且你要照顧.htacces太
...
RewriteRule ^.*$ /now/index.php [NC,L]
例如與重寫規則中的路徑的另一個環境變量..
它的工作對我來說
/etc/httpd/conf.d/zendproject.conf
Alias /zendproject/ /var/www/vhosts/zendproject/public/
<Directory "/var/www/vhosts/zendproject/public/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from All
</Directory>
公共/的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /zendproject/index.php [NC,L]
當我用別名,其重寫規則/ Cond,我無法正確獲取。該規則應該尊重現有網站(/)以及新網站(/現在)。 – thevikas 2011-01-24 12:20:05