Aller au contenu

Sujets conseillés

Posté (modifié)

Salut à tous,

J'ai un pb auquel ne n'est pas trouvé de solution, j'ai posé la question sur WRI également et personne n'a pu m'aider.

Dans le cadre d'un partenariat, tu peux placer une bannière sur ton site qui te place en page d'accueil du mien quand un internaute clic dessus, avec un lien du type :

http://www.monsite.net/?id_site=1

Je voudrais forcer l'affichage de cette url et le remplacer par l'url normale http://www.monsite.net, mais je n'y arrive pas.

J'avais essayé avec ça dans mon .htaccess mais ça marche pas.

RewriteCond %{HTTP_HOST} ^www.sur-la-toile.net?id_site=$1$
RewriteRule ^(.*) http://www.sur-la-toile.net/$  [QSA,L,R=301]

Si quelqu'un sait comment faire, je veux bien un coup de main parce que là, ça commence à m'énerver ce truc.

Merci A+

Modifié par Dan
Posté

Salut,

Tout simplement parce que le QUERY_STRING ne fait pas partie du %{HTTP_HOST} mais bien de %{QUERY_STRING}

Donc une règle comme :

RewriteCond %{QUERY_STRING} idsite= 
RewriteRule (.*) http://www.sur-la-toile.net/? [R=301,L]

Le ? dans la règle permet de ne pas transmettre le QUERY_STRING ...

Dan

Posté

le htaccess n'appellera pas ta page d'origine

donc, il faut que tu fasse une page qui comptabilise le nombre de clics

et sur cette page, tu fait une redirection 301 avec la fonction header()

Posté

Merci Dan,

Je suis en train d'essayer mais ça marche pas.

Je ne comptabilise pas les clics, je met à jour la BDD, le champ date_maj qui me permet de faire remonter les sites dans les classements ou sur la page d'accueil en fait.

Donc, sur mon index KaZhaR, j'ai une condition qui dit que si id_site=quelque chose, alors met la BDD date_maj à jour. C'est tout.

Je veux donc forcer l'affichage sans le ?id_site=***, au même titre que tu peux empêcher l'affichage de l'url de ton site sans le www.

Je ne veux pas (sauf s'il n'y a aucune autre solution) utilser de 301

Merci

Posté

Tu ne veux pas utiliser de 301 mais dans ton .htaccess tu essaies d'utiliser une redirection 301.

Je n'ai aps trop compris là ;o)

pour comptabiliser, il faut que tu passes par une page avant de faire ta redirection comme l'indiquait KaZhaR.

A moins que tu ne souhaites alimenter ta base de données en utilisant les log de ton serveur.

Posté

Finalement, je reprendrais du 301 :fou:

Bon, je me suis démerdé autrement :

if (*...) {
header("Status: 301 Moved Permanently");
header("Location: http://www.sur-la-toile.net");
exit();
}

Placé en haut de page après une expression conditionnelle.

Merci pour votre aide.

Posté

Pour moi ta question n'était pas claire...

Tu disais vouloir remplacer l'url avec ?idsite= par http://www.sur-la-toile.net/ et c'est exactement ce que fait la règle que je t'ai donnée.

Mais il est clair que dans ce cas bien précis, tu perds l'info idsite. Donc si tu veux comptabiliers les clics ou les affichages, voire traiter cette variable que quelque manière que ce soit, c'est loupé :lol:

Dan

Posté

C'est pas grave, je me suis mal exprimé.

J'ai fait autrement qu'avec un .htaccess, merci de ton aide ;)

Veuillez vous connecter pour commenter

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



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