Aller au contenu

question redirectmatch


Sujets conseillés

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 +FollowSymlinks
RewriteEngine on

Je me trompe où?

merci d'avance pour vos réponses,

ZN

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...