Selon l'endroit où j'installe mon ensemble de fichiers, il semble que RewriteBase
semble devoir changer en conséquence si je l'installe dans un sous-répertoire plutôt qu'à la racine du www.
Pour mes fichiers de configuration, j'utilise quelque chose comme ce qui suit pour permettre aux administrateurs de modifier les paramètres en fonction de leur environnement de déploiement.
$yaml = file_exists($yamldir) ? Spyc::YAMLLoad($yamldir) : array();
$default = array(
'hostname' => 'mydomain.com',
'base_uri' => '/sub/',
'mysql_host' => 'localhost',
'mysql_username' => 'root',
'mysql_password' => '',
'schema_name' => 'schema1',
'table_name' => 'table1'
);
$config = array_merge($default, $yaml);
Le config.yml est ensuite ignoré par SVN ou git afin de permettre une flexibilité maximale. Cela semble être la meilleure façon de procéder.
Existe-t-il un équivalent du fichier .htaccess, pour lire (ou mieux encore, analyser) un fichier de configuration qui peut ou non exister ?
Informations générales
Mes besoins en matière de .htaccess sont d'ailleurs assez simples dans ce cas :
RewriteEngine On
RewriteBase /sub
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L]
Ce serait probablement mieux si j'utilisais un répertoire public de type Rails au lieu d'avoir une racine www effectivement "ouverte", mais je peux m'en occuper si nécessaire. La RewriteBase est-elle même nécessaire dans mon cas ? Je ne suis pas sûr qu'elle le soit. Même ainsi, je peux penser à des cas dans le futur où j'ai un .htaccess plus élaboré, où j'aurais du mal à trouver une solution de contournement pour RewriteBase (ou ai-je tort de penser cela aussi ?).