captain_torche Posté 26 Novembre 2013 Posté 26 Novembre 2013 Bonjour, Je vous explique la situation : - J'ai un lien d'un premier site (A) pointant vers une page d'un site ( - Le site ( redirige ses pages inconditionnellement vers un site © - Sur le site ©, j'aimerais afficher une page spécifique si le referer vient de (A). Sachant que je n'ai le contrôle que sur ©, voici ce que j'ai déjà tenté de faire : RewriteCond %{HTTP_REFERER} siteA.com/page_specifique.html RewriteRule (.*) mapage.html [R=301,L] Le souci, c'est que la redirection ne perdant pas le referer, je crée une boucle de redirection. Comment faudrait-il faire pour contourner le souci (Avec un .htaccess) ?
jcaron Posté 26 Novembre 2013 Posté 26 Novembre 2013 Tu veux absolument un 301 (i.e. que le client reçoive la nouvelle URL finale), ou tu veux juste afficher le contenu de mapage.html dans ce cas? Dans le premier cas, tu dois pouvoir ajouter RewriteCond %{REQUEST_URI} !mapage.htmlDans le deuxième, tu vires simplement le R=301, non? Moi et les RewriteRules ça fait 2 et demi, donc je ne garantis rien :-) Jacques.
captain_torche Posté 26 Novembre 2013 Auteur Posté 26 Novembre 2013 J'avais déjà tenté cette condition mais ça ne change rien. Sans la redirection 301, j'ai une erreur 404...
jcaron Posté 26 Novembre 2013 Posté 26 Novembre 2013 Je me dis que c'est probablement plutôt /mapage.html dans la RewriteCond. Si tu as un 404, c'est que tu donnes une URL qui est elle-même rewritée, non? Dans ce cas il faut soit que tu donnes l'adresse finale, soit que tu vires le [L] mais ça ouvre un autre sac de noeuds. Jacques.
captain_torche Posté 26 Novembre 2013 Auteur Posté 26 Novembre 2013 J'ai déjà un rewriteBase /, donc je me passe du slash. Supprimer le [L] ne fonctionne pas (Il m'affiche la home), je vais essayer de voir ce que je peux faire avec l'url définitive.
jcaron Posté 26 Novembre 2013 Posté 26 Novembre 2013 Je ne pense pas que RewriteBase s'applique à RewriteCond, mais uniquement à RewriteRule, donc je pense que le / est nécessaire. Note aussi que si tu as des paramètres dans l'URL, ils ne seront pas dans %{REQUEST_URI} mais dans %{QUERY_STRING}. Jacques.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant