2011-04-06 2 views
1

Mon site Web principal utilise cadre de PHP/Zend et le .htaccess est une commune:conflits mod_rewrite avec la directive Alias ​​

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

Maintenant, je dois apporter un forum (dans un autre répertoire) vers le site principal . J'ai ajouté une directive Alias ​​dans VirtualHost

Alias /forums "h:/projects/forums" 

Le logiciel de forum utilise son propre .htaccess. L'URL/les forums principaux sont accessibles mais pas les autres. Les autres URL (celles qui n'ont pas de fichiers correspondants) sont transmises au site principal. En d'autres termes, le fichier .htaccess du site principal (/) est récupéré, pas celui du répertoire/forums.

Répondre

2

Essayez d'ajouter un nouveau RewriteCond pour indiquer à votre fichier principal .htaccess d'ignorer les demandes sous /forums. Après que la requête passe à travers ce fichier, il devrait être récupéré par le fichier /forums/.htaccess, bien que j'avoue que je ne suis pas vraiment sûr si Alias affecte ceci.

La condition ressemblerait à ceci:

RewriteCond %{REQUEST_URI} !^/forums [NC] 

Ce dit «n'effectuer la prochaine RewriteRule si la demande ne commence pas par /forums ». Le [NC] à la fin dit d'ignorer le boîtier sur /forums donc peu importe si la demande est en réalité pour /Forums ou /FORUMS.