URL rewrite & PHPMyvisite

URL rewrite & PHPMyvisite - PHP - Programmation

Marsh Posté le 26-03-2008 à 19:53:18    

Bonjour,
 
PHPmyvisite c'est bien, pratique et ça permet d'anticiper quelques trucs au sujet d'un site web. Mais si les stat sont précises en ce qui concerne les pages Web ce n'est pas le cas pour le téléchargement de fichier.
 
Pour les stat sur le téléchargement de fichiers PHPmv demande qu'une URL soit créée pour chaque fichier (en fait comme pour chaque page). Imaginez un serveur avec une 100ène de fichiers... Et je ne vous parle pas quand ceux-ci changent de version...
 
J'ai pensé à une solution, mais n'étant pas développeur à la base j'ai besoin de quelques notions ou d'un début de piste que je peaufinerai.
 
Étant donné le grand nombre de fichiers à télécharger, et leur changement (et ajout) fréquent je me suis dit que l'URL rewrite d'Apache serait la bienvenue en conjonction d'un petit script PHP. Je m'explique :
 
J’ai un fichier à télécharger :

Code :
  1. http://site.com/dnl/fichier.zip


 
Dans PHPmv pour que ce fichier entre dans les stat et soit comptabilisé il faudrait que l'utilisateur y accède de cette façon :

Code :
  1. http://site.com/stat/phpmyvisites.php?url=http%3A//site.com/dnl/fichier.zip&id=1&pagename=FILE:nom_de_la statistique


 
Dans cette URL les variables sont les suivantes :
 
- fichier.zip
- nom_de_la statistique
- id=1 (id du site ou seront enregistré les stat)
 
Mais évidement l'utilisateur se contentera de cliquer ou de saisir la simple URL : http://site.com/dnl/fichier.zip
 
Cette URL simple devra donc être réécrite pour ressembler à celle utilisable par PHPmv afin de comptabiliser le nombre de téléchargement.
 
1. l'utilisateur accède au fichier par :

Code :
  1. http://site.com/dnl/fichier.zip


 
2. apache détecte et réécrit l'url en :

Code :
  1. http://site.com/stat/phpmyvisites.php?url=http%3A//site.com/dnl/fichier.zip&id=1&pagename=FILE:nom_de_la statistique


 
Le truc c'est qu'un HTACCESS ne va pas contenir chaque nom de fichier et qu'il n'est pas modifiable à la volée. C'est pourquoi il faudrait un script PHP qui :  
 
- prenne en variable le nom du fichier
- copie ce nom dans "nom_de_la statistique" (ça c'est pour donner un nom convivial aux stats)
- enregistre le téléchargement dans les stat
- initie le téléchargement  
 
J'ai pensé à 2 règles :  
 
- le rewrite du .HTACCESS qui renvois vers le script PHP en remplissant les variables
- le script PHP qui permet d'enregistrer le téléchargement et d'envoyer le fichier à j'utilisateur.
 
Je m'excuse par avance si je ne suis pas très clair et j’espère avoir correctement expliqué mon problème. Je peux me débrouillé en ce qui concerne le PHP, mais le HTACESS me pose problème (au niveau de la syntaxe à utiliser. De plus je ne suis même sur que ce soit possible. A vous de me le dire.
 
Merci ;)


Message édité par Drwily le 27-03-2008 à 09:19:58
Reply

Marsh Posté le 26-03-2008 à 19:53:18   

Reply

Marsh Posté le 29-03-2008 à 19:04:50    

up

Reply

Marsh Posté le 30-03-2008 à 20:27:52    

tu ne peux pas détecter les fichiers en fonction de l'extension avec quelque chose comme

 

/(.+)\.zip

 

et le mettre dans ton url via htaccess?

 


Message édité par art_dupond le 30-03-2008 à 20:28:02

---------------
oui oui
Reply

Marsh Posté le 31-03-2008 à 08:48:21    

Bah oui j'avais pensé a ce genre de technique. C'est l'intermédiare entre me tout redirigé et le tout automatique. Le problème c'est qu'il n'y a pas que des fichiers zip tu dois t'en douté.
 
J'expérimente une piste :
 
1. je définit un "errordocument" dans mon .HTACCESS qui redirige ver un script PHP
 
2. je récupère l'url de cette facon :

Citation :

$recupurl=$_server['request_uri']


 
3. j'annule le 404 :

Citation :

header("HTTP/1.1 200 OK" )


 
5. et c'est à partir de la que je bloque, je ne sais pas quelle est la syntaxe pour inclure ma variable "recupurl" dans l'url du tracker de PHPmv et enfin la renvoyé a l'utilisateur.

Reply

Marsh Posté le 31-03-2008 à 11:41:33    

si tu veux renvoyer la variable dans une nouvelle url :
 

header('location : http://site.com/stat/phpmyvisites.php?url='.$recupurl);


Message édité par art_dupond le 31-03-2008 à 11:41:54

---------------
oui oui
Reply

Marsh Posté le 31-03-2008 à 12:47:54    

Merci baucoup j'essaye ça et je donne le feedback ensuite ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed