Olivier69 Posté 8 Janvier 2006 Posté 8 Janvier 2006 (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é 8 Janvier 2006 par Dan
Dan Posté 8 Janvier 2006 Posté 8 Janvier 2006 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
kazhar Posté 8 Janvier 2006 Posté 8 Janvier 2006 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()
Olivier69 Posté 8 Janvier 2006 Auteur Posté 8 Janvier 2006 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
petit-ourson Posté 8 Janvier 2006 Posté 8 Janvier 2006 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.
Olivier69 Posté 8 Janvier 2006 Auteur Posté 8 Janvier 2006 Finalement, je reprendrais du 301 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.
Dan Posté 8 Janvier 2006 Posté 8 Janvier 2006 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é Dan
Olivier69 Posté 8 Janvier 2006 Auteur Posté 8 Janvier 2006 C'est pas grave, je me suis mal exprimé. J'ai fait autrement qu'avec un .htaccess, merci de ton aide
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant