Cleden Posté 22 Octobre 2007 Partager Posté 22 Octobre 2007 Bonjour, Je ne suis pas un king des expressions régulière et me contente généralement de faire du copié/collé/modifié pour arriver à mes fins. J'ai déjà utilisé le htaccess pour des redirections 301 mais là rien à faire. Voici mon htaccess: Options +FollowSymlinksRewriteEngine on RewriteRule ^([a-z-]+).html$ /index.php?page=$1 [NC,L] RewriteRule ^index.php?page=situation$ /situation-locations.html [QSA,L,R=301] RewriteRule ^index.php?page=environnement$ /environnement-gites.html [QSA,L,R=301] RewriteRule ^index.php?page=ty_coz$ /location-ty-coz.html [QSA,L,R=301] RewriteRule ^index.php?page=ty_marchosi$ /location-ty-marchosi.html [QSA,L,R=301] RewriteRule ^index.php?page=ty_saout_nord$ /location-ty-saout-nord.html [QSA,L,R=301] RewriteRule ^index.php?page=ty_saout_sud$ /location-ty-zaout-sud.html [QSA,L,R=301] Vous l'aurez compris, je souhaite rediriger index.php?page=situation vers situation-locations.html mais rien n'y fait ça ne marche pas. Je n'ai pourtant pas oublié le / nécessaire chez OVH. Est-ce que ce ne serait pas du au fait que mon url contient un "?" ou un "=", je ne sais pas. Une exemple de redirection qui ne fonctionne pas: http://lezoulien.cap-sizun.com/index.php?page=situation J'espère que vous trouverez une solution à mon problème, Loïc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 24 Octobre 2007 Partager Posté 24 Octobre 2007 Le problème vient du fait que tu tentes d'utiliser le QUERy_STRING dans ta règle, alors que mod_rewrite ne le voit pas, du moins pas à cet endroit; Il faut utiliser une réécriture conditionnelle, comme par exemple: RewriteCond %{QUERY_STRING} page=([a-z]*)RewriteRule (.*) http://www.dedomaine.tld/%1.html [R=301,L] Qui redirigera toute page avec un QUERY_STRING sous la forme page=abc vers abc.html Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cleden Posté 25 Octobre 2007 Auteur Partager Posté 25 Octobre 2007 Merci Dan pour ta réponse, Etant donné qu'il n'y a pas de logique dans mes redirection, j'ai essayé RewriteCond %{QUERY_STRING} page=situationRewriteRule (.*) http://lezoulien.cap-sizun.com/situation-locations.html [R=301,L] mais ça me redirige -http://lezoulien.cap-sizun.com/index.php?page=situation vers -http://lezoulien.cap-sizun.com/situation-locations.html?page=situation-locations En fait, il rajoute la valeur du query string à la fin, y a t-il possibilité d'éviter ça ? Loïc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cleden Posté 18 Novembre 2007 Auteur Partager Posté 18 Novembre 2007 Je me répond à moi même car je suis parvenu à trouver la réponse après quelques recherches. RewriteCond %{QUERY_STRING} ^page=environnement$RewriteRule (^index.php$|^$) /environnement-gites.html? [R=301] Loïc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant