Назад | Перейти на главную страницу

Как развернуть два приложения на основе zend frame work в apache2, как в tomcat

У меня есть два приложения Zend framework, которые называются finance и fleet. Оба они имеют один и тот же файл .htaccess, как показано ниже.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Я создал два виртуальных хоста под названием fleet.local и finance.local. Это мое fleet.local файл:

# APACHE CONFIGURATION FOR THE fleet.local APPLICATION    
<VirtualHost *:80>
    ServerName fleet.local
    DocumentRoot /home/user/fleet/public 
    SetEnv APPLICATION_ENV dev 

    <Directory /home/user/fleet/public> 
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

DeflateCompressionLevel 9

А это мой finance.local файл:

# APACHE CONFIGURATION FOR THE fincance.local APPLICATION

<VirtualHost *:80>        
    ServerName fincance.local
    DocumentRoot /home/user/fincance/public 
    SetEnv APPLICATION_ENV dev 

    <Directory /home/user/fincance/public> 
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

DeflateCompressionLevel 9

Когда я захочу воспользоваться финансами, я скажу http://finance.local и когда я захочу использовать флот, я скажу http://fleet.local.

Теперь я хочу создать единственный виртуальный хост под названием companyX.local и если мне понадобится финансовое приложение, я просто наберу http://companyX.local/finance и http://companyX.local/fleet для моего автопарка. Как мне это сделать?

Понял!!!

<VirtualHost *:80>

    ServerName companyX.local

    Alias /finance "/home/user/finance/public"

    <Directory /home/user/finance/public> 
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    Alias /fleet "/home/user/fleet/public"

    <Directory /home/user/fleet/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

и изменил базу перезаписи для финансов следующим образом:

RewriteEngine On
RewriteBase /finance
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

и изменил базу перезаписи для флота следующим образом:

RewriteEngine On
RewriteBase /fleet
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Попробуйте это - ему даже не требуется RewriteBase, и он будет работать с корневым относительно или в подкаталоге.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]