Je sais qu'il ya des bêtes en .htaccess ici:

WRInaute impliqué
J'ai un petit problème, je viens de changer d'hébergement, et je souhaites rediriger la totalité d'un domaine vers un autre, la totalité, cad répertoire fichier etc ... le tout qui point vers le root du domaine,
jusqu'à présent j'utilisai :

RedirectMatch 301 / http://www.nouveaudomaine.com

que je mettais sur l'ancien domaine et tout fonctionnait très bien, le hic c'est qu'avec ce nouvel hébergement ça marche mais il me laisse les ?op=qqchose de l'ancien et me les mets sur l'index du nouveau ? comment puis je faire pour pas qu'il y ait ceci sur mon index car ça me fait des centaine d'index dupliqué:

http://www.anciendomaine.com/programme.php?op=qqchose me donne:
http://www.nouveaudomaine.com/?op=qqchose

avec la commande au dessus, merci de votre aide, car mon nouvel hébergement commence mal
 
WRInaute accro
oui, tu as raison, on peut passer par le mode rewrite, par contre je comprend pas le "?" Je l'ecrirais plutot de cette maniere:

Code:
RewriteEngine On
RewriteRule .* http://www.nouveaudomaine.com/$1 [R=301,L]

Ou le faire sans rewrite ?
Code:
RedirectMatch 301 ^(.*)$ http://www.nouveaudomaine.com/$1
 
WRInaute impliqué
me revoilà, merci pour vos réponses a vous deux, en faite ayant fait le tour de la problématique sur le web, apache est mal foutu, est renvoi systématiquement les variable après le ? en faisant une redirection vers un nouveau domaine, c'est comme ça faut ci faire, l'astuce étant effectivement de mettre un ? derrière l'url de redirection ce qui normalement doit bloquer les variables ....
mais ça reste pas très propre tout ça (et ça marche pas sur mon serveur), donc pour remédier a ce problème j'ai fait 2 redirections au lieu d'une, la première envoyant le fichier avec variable vers un fichier index sur le même domaine, et ce même fichier index qui renvoi le tout sur mon nouveau domaine, ce qui m'évite d'avoir un nouveau domaine avec de multiples index.
 
WRInaute passionné
KOogar a dit:
oui, tu as raison, on peut passer par le mode rewrite, par contre je comprend pas le "?"
l'explication est sur apachefrance.com :
apachefrance.com a dit:
Une dernière note : Vous pouvez même, par une expression de substitution, réécrire une URL contenant des paramètres de requête. Il suffit pour celà d'ajouter le célèbre point d'interrogation ('?') qui sépare habituellement la partie URI de la partie argument de requête lequel sera passé à la variable QUERY_STRING. Si vous voulez effacer une chaîne de requête déjà présente dans l'URL originale, terminez l'expression de substitution par un point d'interrogation seul.
Si il y a un ? dans l'url, les paramètres existants sont remplacés sinon ils sont ajoutés (le flag QSA force l'ajout).
 
Discussions similaires
Haut