Cleden Posté 22 Octobre 2007 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
Dan Posté 24 Octobre 2007 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
Cleden Posté 25 Octobre 2007 Auteur 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
Cleden Posté 18 Novembre 2007 Auteur 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant