我有一个zend站点,其中DocRoot设置为public /,URL为 (http://dothat.com/controllerA/action9/) - 工作正常。
我还需要在同一台服务器上运行该站点的副本 (http://dothat.com/now/controllerA/action9/)在同一个文件夹上运行。
(给出的网址是示例)
请建议如何在不破坏zend设置的情况下完成此操作。
答案 0 :(得分:2)
我个人只是在你的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文件,以便更容易设置,甚至环境感知。
答案 1 :(得分:2)
它为我工作
/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]
答案 2 :(得分:0)
这个想法怎么样:
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]
E.g。与重写规则中的路径的另一个环境变量..