3 Stimmen

Zend-Site braucht auch Alias

Ich habe eine Zend-Site, bei der DocRoot auf public/ und URL als (http://dothat.com/controllerA/action9/) eingestellt ist - was ordnungsgemäß funktioniert.

Außerdem muss ich eine Kopie dieser Website auf demselben Server laufen lassen wie (http://dothat.com/now/controllerA/action9/) in demselben Ordner laufen lassen.

(Die angegebenen URLs sind Beispiele)

Bitte schlagen Sie vor, wie dies getan werden kann, ohne Zend Setup selbst zu verderben.

2voto

KSolo Punkte 467

Ich persönlich würde nur eine einfache Zend-Route in Ihrem Bootstrap tun.

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);
}

Routes in Zend sind sehr mächtig und machen Spaß beim Einrichten. Ich habe meine in einer externen .ini-Datei, um die Einrichtung zu vereinfachen, sogar umweltbewusst.

2voto

calraiden Punkte 1466

Es funktioniert bei mir.

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

öffentlich/.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]

0voto

gabel Punkte 512

Wie wäre es mit dieser Idee?

Ein Alias in Apache (wenn es der http-Server ist, den Sie verwenden)

Alias /now /path/to/zend/public   
<Directory /path/to/zend/public>      
  SetEnv APPLICATION_ENV development
  ...
</Directory>

Und Sie müssen sich auch um die .htacces kümmern

...
RewriteRule ^.*$ /now/index.php [NC,L] 

Z.B. mit einer anderen Umgebungsvariablen für den Pfad in der Rewrite-Regel..

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X