Search code examples
zend-frameworkparameterssubdomain

HTACCESS subdomain and environment ZEND


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.


Solution

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