exception sur sous-répertoire (nécessite ajout index.php)

Nouveau WRInaute
Bonjour,

je sèche sur un htaccess :

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST}    !^www.domaine.com/sousrepertoire/
RewriteCond %{HTTP_HOST}    !^sousdomaine.domaine.com
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?p1=$1 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?p1=$1&p2=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?p1=$1&p2=$2&p3=$3 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?p1=$1&p2=$2&p3=$3&p4=$4 [L]

Concernant mes exceptions, le !^sousdomaine.domaine.com fonctionne parfaitement, mais mon !^www.domaine.com/sousrepertoire/ ne donne rien, il faut que je tape www.domaine.com/sousrepertoire/index.php pour y arriver...

Une idée sur ce qui manque à cette ligne de code svp ? J'ai testé plusieurs modifs, mais ça ne changeait rien.
 
WRInaute accro
Bonjour,

Je ne vois pas ce que tu veux faire, mais ce qui est certain, c'est que
Code:
RewriteCond %{HTTP_HOST}    !^www.domaine.com/sousrepertoire/
doit être corrigé. RewriteCond %{HTTP_HOST} est utilisé pour tester un nom de host, donc il ne faut mettre derrière qu'un nom de domaine ou de sous-domaine.

Code:
RewriteCond %{HTTP_HOST}    !^sousdomaine.domaine.com
est correct.

Jean-Luc
 
Nouveau WRInaute
Je veux faire la même chose que ta rectification (ligne que j'utilise d'ailleurs déjà pour les sous-domaines à exclure des règles qui suivent (RewriteRule), mais appliquée cette fois à certains sous-répertoires.

Donc c'est sans doute, a priori, plus le HTTP_HOST que le sousdomaine.domaine.com qui serait à corriger (en gardant www.domaine.com/sousrepertoire/). Si jamais c'est plus clair ? :)
 
Discussions similaires
Haut