Monday, May 7, 2012

store constant variable on server via .htaccess


I would like to store the INDEX_URL constant the easiest way possible.



There is a developer site and a normal site. If there is any change on the developer site, I would like to just copy the entire files but this constant is not the same on the 2 sites.





I have made this test:




putenv("TEST=TEST");
var_dump(getenv('TEST')); //TEST

//putenv("TEST=TEST");
var_dump(getenv('TEST')); //false



It seems it does not store the value.





Alternative method:




define('__INDEX_URL__',"http://".$_SERVER['SERVER_NAME']."/index.php");


Source: Tips4all

2 comments:

  1. You can save it as environment variable. Put this in .htaccess:

    SetEnv INDEX_URL http://example.com/index.php


    And get it in PHP:

    $indexUrl = getenv('INDEX_URL');

    ReplyDelete
  2. To make switching between hosts automatically You could use SetEnvIf :

    .htaccess :

    SetEnvIf Host host\.com INDEX_URL=http://host.com/index.php
    SetEnvIf Host dev\.host\.com INDEX_URL=http://dev.host.com/index_dev.php


    PHP :

    $indexUrl = isset($_SERVER['INDEX_URL']) ? $_SERVER['INDEX_URL'] : '';

    ReplyDelete