сайту Zend также нужен псевдоним - PullRequest
3 голосов
/ 24 января 2011

У меня есть Zend-сайт, где DocRoot установлен на public / и URL-адрес как (http://dothat.com/controllerA/action9/) - работает нормально.

Мне также нужно запустить копию этого сайта на том же сервере, что и (http://dothat.com/now/controllerA/action9/) работает в той же папке.

(Приведенные URL являются примерами)

Подскажите, пожалуйста, как это можно сделать, не портя саму установку Zend.

Ответы [ 3 ]

2 голосов
/ 25 января 2011

Лично я бы просто сделал простой Zend-маршрут в вашей Bootstrap.

Пример:

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-файле, чтобы его было проще в настройке, даже с учетом среды.

2 голосов
/ 21 января 2014

у меня работает

/ и т.д. / 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]
0 голосов
/ 24 января 2011

Как насчет этой идеи:

Псевдоним в 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] 

например. с другой переменной среды для пути в правиле перезаписи ..

...