-ZN- Posté 2 Avril 2008 Posté 2 Avril 2008 Bonjour, j'ai pour projet d'eclater un site en .com en plusieurs sites aux extensions plus locales: .com, .fr, .de il faut donc que je fasse plein de redirections de l'ancien site vers les nouveaux. Je me suis donc "entrainé" avec les redirections via redirectmatch, mais j'ai dejà des erreurs .. par exemple je voudrais que viewpage?id=12 renvoie vers voirpage?id=12 voici ma ligne dans le .htaccess RedirectMatch 301 ^/viewpage.php?id=([0-9]+)$ /voirpage.php?id=$1 [L] j'ai les options suivantes en début de fichier Options +FollowSymlinksRewriteEngine on Je me trompe où? merci d'avance pour vos réponses, ZN
Dan Posté 2 Avril 2008 Posté 2 Avril 2008 Tu ne peux pas utiliser la QUERY_STRING de cette manière dans le premier paramètre de ta règle Le mieux est encore de mettre une règle comme ceci: RewriteRule viewpage.php http://ledomaine.tld/voirpage.php [R=301,QSA,L] le flag QSA prendra soin de transmettre la Query String.
-ZN- Posté 2 Avril 2008 Auteur Posté 2 Avril 2008 Merci Dan pour tes reponses toujours aussi précises. j'ai légèrement adapté la règle que tu m'as envoyé, et ça fonctionne bien En fait j'ai sur mon .com des URLS rewritées et des URLs non rewritées (avec passage de parametre). Donc si je ne me melange pas (trop les pinceaux), à priori je peux utiliser le redirectMatch pour rediriger toutes les URLs qui sont rewritées et le rewriteRule pour toute URL qui comporte une queryString? ou vaut-il toujours mieux utiliser le rewriteRule? Une derniere question (pour etre sur de ne pas me tromper), dans l'ordre des instructions de mon .htaccess, je dois: 1. d'abord ecrire toutes les regles de redirection anciennes URLs -> nouvelles URLs 2. ecrire les nouvelles regles de rewriting ça semble presque évident, mais je préfère avoir un avis d'expert Merci encore, ZN
Dan Posté 2 Avril 2008 Posté 2 Avril 2008 Oui, il faut d'abord mettre toutes les redirections 301.... sinon tu fais bosser ton serveur pour rien Personnellement je n'utilise jamais le RedirectMatch, je préfère de loin le RewriteRule beaucoup plus complet. Lorsque je veux déplacer toute une arborescence "à l'identique", j'utilise le RedirectPermanent ... mais c'est rare.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant