Aller au contenu

Sujets conseillés

Posté

Bonjour,


Je vous explique la situation :



- J'ai un lien d'un premier site (A) pointant vers une page d'un site (B)


- Le site (B) 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) ?


Posté

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.html
Dans 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.

Posté

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.

Posté

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.


Posté

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.

Veuillez vous connecter pour commenter

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



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