Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php zend站点也需要别名_Php_Apache_Zend Framework_.htaccess_Mod Rewrite - Fatal编程技术网

Php zend站点也需要别名

Php zend站点也需要别名,php,apache,zend-framework,.htaccess,mod-rewrite,Php,Apache,Zend Framework,.htaccess,Mod Rewrite,我有一个zend站点,其中DocRoot设置为public/和URL作为 (http://dothat.com/controllerA/action9/)-工作正常 我还需要在同一台服务器上运行该站点的副本 (http://dothat.com/now/controllerA/action9/)在同一文件夹上运行 (给出的URL是示例) 请建议如何在不破坏zend设置本身的情况下完成此操作。这个想法如何: Apache中的别名(如果您使用的是http服务器) 例如,对于重写规则中的路径,使用另一

我有一个zend站点,其中DocRoot设置为public/和URL作为 (http://dothat.com/controllerA/action9/)-工作正常

我还需要在同一台服务器上运行该站点的副本 (http://dothat.com/now/controllerA/action9/)在同一文件夹上运行

(给出的URL是示例)

请建议如何在不破坏zend设置本身的情况下完成此操作。

这个想法如何:

Apache中的别名(如果您使用的是http服务器)


例如,对于重写规则中的路径,使用另一个环境变量..

我个人只需在引导中执行一个简单的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中的路线设置非常强大和有趣。实际上,我在一个outside.ini文件中保存了我的文件,这样可以更容易地进行设置,甚至可以感知环境。

这对我很有用

/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>

当我使用Alias时,它是我无法正确获取的重写规则/条件。规则应该尊重现有站点(/)和新站点(/现在)。就像我说的,你可以使用另一台服务器。。现在使用SetEnv PATH/和SetEnv PATH/并在htaccess中使用该环境,例如。
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);
}
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>
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]