У меня есть два приложения 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]