Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.htaccess Set PHP Value depending on Hostname

for our project we need to set several PHP values depending on the environment (development/production), most notably session save path and some tracing and profiling settings.

We do not want to set them in the PHP script because due to some horrible legacy code which would require a lot of changes and we don't want to have to change the .htaccess every time before commiting it to git (but we require the .htaccess to be in source control).

Is there any way to do something like this in the .htaccess:

if (hostname == "dev.example.com") {
  php_value session.save_path /tmp
  [...]
}
like image 973
Morfildur Avatar asked Jul 12 '10 11:07

Morfildur


1 Answers

You can define rules in Apache's virtualhost config (one step above .htaccess, you'll have to ask an administrator to edit this):

<VirtualHost *:80>                                                              
    ServerName piskvor.example.com
    ServerAlias *.host2.example.com
    php_value session.save_path /home/piskvor/tmp
</VirtualHost>
<VirtualHost *:80>                                                              
    ServerName someotherhost.example.org
    php_value session.save_path /tmp
</VirtualHost>

This gives you the possibility to configure each host differently (by hostname or a hostname wildcard). Most newer Apache setups support this.

like image 199
Piskvor left the building Avatar answered Nov 10 '22 14:11

Piskvor left the building