We're currently creating an application with ZEND that we'd like to be able to set the environments through a second parameter IN FRONT of the domain.
Something like this:
app.production.mysite.com
App would indicate the folder (mysite.com/app), production the environment and mysite our domain.
You can use apache2 aliases together with mod_rewrite rules in order to achieve that.
This is an example httpd.conf section which setup a root zend framework app in /var/rootapp
, and 2 other separated ZF apps under app1
& app2
folders.
<Directory "/var/app1/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /app1
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</Directory>
<Directory "/var/app2/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /app2
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</Directory>
<VirtualHost *:80>
ServerName app.production.mysite.com
DocumentRoot /var/rootapp/public
Alias /app1 /var/app1/public
Alias /app2 /var/app1/public
</VirtualHost>