Comment puis-je réécrire des règles avec des alias?

Je m’excuse d’avance si c’est trop long. Je pense que plus de détails vaut mieux que moins et j’espère ne pas être horriblement décousu 🙂

J’utilise WAMP sur mon ordinateur portable pour le développement local, et j’ai plusieurs fichiers c:/wamp/alias/* chacun pointant vers un répertoire de travail du projet. J’ai eu une excellente aide mod_rewrite et obtenu

 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*\/)?ih(\/.*)?$ $1index.php$2 [L,QSA] 

pour travailler pour changer localhost/.../ih/sub/dir à localhost/.../index.php/sub/dir pour les URL qui sont à la fois SEO-friendly et court. [Je ne suis pas allé plus loin, mais je pense que cela fonctionnera aussi bien.] Cependant, pour obtenir tout cela, j’ai dû changer ma racine doc de c:/wamp/www/ to c:/ , ce que je préfère vraiment ne pas faire juste au cas où mon Apache serait piraté et sinon parce que c’est une erreur.

Mon fichier alias de test ressemble à

 Alias /testme "c:/var/tmp/wamp-testme/"  Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*\/)?ih(\/.*)?$ $1index.php$2 [L,QSA]  

et l’erreur que j’obtiens en essayant de charger http://localhost/testme/rewrites/ih/sub/path est

 [Thu Jun 30 06:46:13 2011] [error] [client 127.0.0.1] File does not exist: C:/wamp/www/var 

avec une correspondance

 Not Found The requested URL /var/tmp/wamp-testme/rewrites/index.php/sub/path was not found on this server. 

dans le navigateur. Bien sûr, la même configuration dans mon fichier c:/wamp/alias/flying.conf qui pointe vers le répertoire c:/data/flying/ lance le File does not exist: C:/wamp/www/data dans le fichier journal des erreurs , etc.

Sooooo … Comment puis-je avoir une règle de réécriture qui transcende les alias sans avoir ma racine de doc dans le répertoire racine de ma machine?

Odd: essayez d’append un indicateur PT à la règle de réécriture: cela force l’URL réécrite à être renvoyée au moteur de mappage d’URL.

EDIT: essayez de définir RewriteBase sur le répertoire.