Version complète: sur le forum Webmaster Hub : question redirectmatch
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
-ZN-
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

CODE
RedirectMatch 301 ^/viewpage.php?id=([0-9]+)$  /voirpage.php?id=$1 [L]


j'ai les options suivantes en début de fichier
CODE
Options +FollowSymlinks
RewriteEngine on


Je me trompe où?

merci d'avance pour vos réponses,

ZN
Dan
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:
CODE
RewriteRule viewpage.php http://ledomaine.tld/voirpage.php [R=301,QSA,L]


le flag QSA prendra soin de transmettre la Query String.
-ZN-
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 smile.gif


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 wink.gif

Merci encore,

ZN

Dan
Oui, il faut d'abord mettre toutes les redirections 301.... sinon tu fais bosser ton serveur pour rien smile.gif

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.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.