|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2010 Messages : 29 ![]() |
Bonjour.
J'ai constaté depuis quelques semaines que près de 80% des visiteurs de mon site ne restaient que moins de 30 s. La majorité d'entre eux ont atteint le document qu'ils cherchaient directement (l'url est alors http://www.monsite.com/documents/rep...p/document.pdf) et donc ne regardent même pas le site, ce que je trouve dommage. Je voudrais donc savoir s'il y avait un moyen pour que, quand l'url est de la forme précédente, cad quand elle pointe sur un doc PDF, le visiteur soit redirigé automatiquement vers une page php dans laquelle je me débrouillerais pour que le document soit lancé automatiquement dans une fenêtre en jQuery au-dessus de mon site, afin que lorsque le visiteur ferme la fenêtre, il voit le site. Le fichier .htaccess peut-il faire cela par hasard ? Merci d'avance. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : août 2005 Messages : 8 283 ![]() |
Oui. Il faut que tu mettes en place une condition qui vérifier la valeur de l'en-tête Referer et qui redirige si cet en-tête indique une origine non vide autre que ton site.
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2010 Messages : 29 ![]() |
Merci pour cette suggestion mais mes connaissances en APACHE sont très limitées, et je ne sais pas faire de conditions ...
J'imagine que ça tient en une ligne, mais j'ai recherché sur Internet la commande, sans succès ... Si quelqu'un pouvait m'éclairer (au moins avec la commande à utiliser), ça serait gentil. Merci d'avance. |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : août 2005 Messages : 8 283 ![]() |
Ton truc, c'est de la protection contre le hot linking. Un petit coup de moteur du forum de recherche avec ce mot-clé ou %{HTTP_REFERER} et tu auras presque ce que tu veux. Par exemple, ça ramènera cette discussion. La différence avec ce que tu veux faire c'est que dans cette discussion on ne parle pas de redirection. Tout ce que tu as à faire c'est modifier la liste des extensions vérifiées et remplacer la RewriteRule par une RewriteRule qui fait une redirection (i.e. avec [R]).
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : avril 2010 Messages : 29 ![]() |
Ce n'est pas de la protection contre le hot linking.
Ce que je veux, c'est que si figure l'adresse "http://www.monsite.tld/rep/doc.pdf", le document en question ne s'affiche pas mais que la page "reload.php?document=doc.pdf" (par exemple) se charge. Ce que tu me proposes ne fonctionne pas car quand je tape directement l'adresse du document, il s'ouvre sans problème avec le RewriteRule. Pour info, j'ai mis dans mon .htaccess : Code :
|
||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : août 2005 Messages : 8 283 ![]() |
C'est normal que ça ne fonctionne pas car quand tu tapes directement l'URL, le referrer est vide et donc la première condition n'est pas validée et donc tu n'as pas de redirection. Donc si ça ne te va pas, retire la première RewriteCond. Mais si tu fais ça, ton site ne fonctionnera pas pour les personnes pour lesquelles le navigateur ou le proxy retire l'en-tête Referer. C'est la seule raison d'être de cette première condition, libre à toi de la retirer.
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2010 Messages : 29 ![]() |
Merci pour ces précisions.
Maintenant, je cherche à récupérer l'URL afin de récupérer le nom du document appelé. Quelle est la commande à utiliser ? J'ai regardé du côté de RewriteCond %{QUERY_STRING}, mais j'avoue que je ne sais pas l'utiliser dans ce cas. |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : août 2005 Messages : 8 283 ![]() |
Soit tu regardes le referrer dans ton code PHP ($_SERVER["HTTP_REFERER"]), soit tu passes l'URL du fichier PDF en paramètre de ta redirection :
Code :
RewriteRule \.(pdf|PDF)$ reload.php?document=$0 [R]
__________________
![]() Du détail, du détail, du détail !!! Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
|
|
|
00
|
|
|
#9 | ||||
|
Invité de passage
![]() Inscription : avril 2010 Messages : 29 ![]() |
Mais bien sûr ! J'étais tellement obnubilé par apache que j'en ai oublié php.
En fait j'ai mis dans .htaccess : Code :
et dans reload.php, j'ai mis : Code :
Merci encore ! |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com