Je calle sur une régle de rewriting !

WRInaute passionné
Voilà des heures ( :oops: ou presque) que je m'arrache les cheuveux sur un probléme de rewriting.

J'explique:

Dans mon .htaccess à la racine du site je crée le repertoire virtuel tmp1 de la sorte :

RewriteRule ^tmp1$ /urldelapage.php [QSA,L]

ça marche ! j'accéde bien à http://www.mondomaine.com/tmp1

Maintenant, je fais la même chose pour le répertoire tmp2

RewriteRule ^tmp2$ /urlduneautrepage.php [QSA,L]

Sauf que tmp2 existe physiquement mais ne contient pas de fichier
index

ça marche pas ! j'accéde pas à http://www.mondomaine.com/tmp2 (vous n'êtes pas autorisés à afficher cette page) par contre j'accede à toutes mes pages virtuelles sous tmp2 http://www.mondomaine.com/tmp2/mapage.html

Donc je rajoute un .htaccess dans tmp2 avec dedans

RewriteRule ^$ /urlduneautrepage.php [QSA,L]

cette fois, j'accéde bien à http://www.mondomaine.com/tmp2 mais plus du tout à mes pages viruelles sous tmp2 : http://www.mondomaine.com/tmp2/mapage.html

Comment faire ? :oops:
 
WRInaute accro
Au lieu d'écrire les règles avec des liens relatifs tu les remplaces par des liens absolus (NDD inclu)
 
WRInaute passionné
nana! ça marche pas non plus, mais à force de tenacité et de réflexion, j'ai trouvé :D

il faut déplacer dans le .htaccess du répertoire tmp2 les régles de réecritures présentes dans le htaccess de la racine :

RewriteRule ^tmp2$ /urlduneautrepage.php [QSA,L] (htaccess racine)


RewriteRule ^$ /urlduneautrepage.php [QSA,L] (htaccess du repertoite tmp2)
RewriteRule ^$ /urlduneautrepage.php [QSA,L] (htaccess du repertoite tmp2)
RewriteRule ^([-0-9a-zA-Z_]+)\.html$ /traitement.php?parametre=$1 [QSA,L]

C'est logique, apache traite en premier lieu le htaccess du repertoire tmp2 lorsque la page est censée lui appartenir.

merci quand même :wink:
 
Discussions similaires
Haut