TheRec
mardi 30 mai 2006 à 13:37
C'est juste, j'ai mal compris la dernière partie du problème, j'ai supposé qu'il souhaiter faire pointer l'URL sans paramètre vers celle avec paramètres...alors qu'il ne voulait plus utiliser cette dernière
Le seul problème c'est que le
RewriteRule ne prends pas en compte la querystring (ce qui vient après le
?). Donc il faut passer par un RewriteCond :
CODE
RewriteEngine On
RewriteCond %{QUERY_STRING} ^page=(.+)$
RewriteRule ^index.php$ %1.php? [L]
%1 est la backreference de trouvée par
RewriteCond.
Le point d'interrogation après
%1.php sert à ce que la querystring originale ne soit pas appondue.
Si tu as besoin de prendre en compte les URL ou
index.php est omis, tu peux utiliser la règle suivante :
CODE
RewriteRule (^index.php$|^$) %1.php? [L]
Après le
RewriteCond évidemment.
Si tu veux que ce soit une redirection qui soit effectuée, il te suffit de préciser l'URL complète ou doit être redirigé l'utilisateur :
CODE
RewriteRule (^index.php$|^$) http://ndd.com/%1.php? [L]
Apparemment le flag [R=301] ne fonctionne pas en conjonction avec RewriteCond...mais ce problème n'est pas document, il est peut-être dû à mon environnement de test...
P.S.:
CITATION(hebmaster @ lundi 29 mai 2006, 11h16)

quel est le code a mettre ds le htaccess pour redirectionner les anciens url vers l'url exacte
C'est pas que je veuille jouer le professeur de français, mais "redirectionner" n'est pas un mot français... je suppose que tu voulais dire "rediriger"