IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

redirection qui renomme ou tronque le nom des PDF avec le htaccess


Sujet :

Apache

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut redirection qui renomme ou tronque le nom des PDF avec le htaccess
    bonjour,

    sur mon serveur apache, avec l'url rewriting activé et les fichiers htaccess opérationnel, j'ai besoin de rediriger des urls pour rendre accessible des fichiers pdf et surtout éviter 5h de taf à la secrétaire (renommer les fichiers).

    mes fichiers sont de la forme dans le dossier ftp : AA AAA AAA - 9999999.pdf c'est à dire une chaine de caractères qui se termine par 8 chiffres+".pdf"

    j'essaie de faire en sorte que quand l'utilisateur entrera dans son url :
    https://www.monsite.fr/45698745
    ça le redirige vers son fichier
    https://www.monsite.fr/nimporte-quoi-456987452.pdf

    est-ce que c'est faisable avec une regex dans le htaccess ?
    Normalement, on fait l'inverse souvent pour l'url-rewriting d'article php, donc je sais pas si c'est possible dans ce sens là grâce au htaccess ou bien il faut un script php qui fasse le taf ?

    qu'en pensez-vous ?

  2. #2
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 378
    Points : 5 731
    Points
    5 731
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par clavier12AZQSWX Voir le message
    donc je sais pas si c'est possible dans ce sens là grâce au htaccess ou bien il faut un script php qui fasse le taf ?

    qu'en pensez-vous ?
    Je pense que je ferais l'essai...

    https://citations.ouest-france.fr/ci...ien-86531.html
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  3. #3
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 391
    Points : 863
    Points
    863
    Par défaut
    bun j'ai tenté un truc qui fonctionne, un peu bancale mais ça fonctionne.

    mi-htacess et mi-php + une bidouille (forcer les liens avec pdf2).
    en gros avec le htaccess, je redirige tout ce qui porte l'extension pdf2 vers un script php en gardant en mémoire le nom de l'url cherchée
    le script php garde que la partie qui intéresse (les 8 chiffres) et enlève le 2 dans PDF2
    PHP cherche dans l'arbo en cours si ya un fichier contenant les 8 chiffres, si oui il est mémorisé
    et ça se termine vers une redirection php vers le nom de fichier
    Ainsi, la secrétaire balance tous ses fichiers nom+prénom - XXXXXXXX.pdf sur le ftp dont je lui ai donné l'accès et elle a fait son publipostage aux gens pour aller chercher le fichier, quelque soit l'erreur d'orthographe dans le nom+prénom.
    biensûr ça peut être améliorer :
    - gérer si ya pas de XXXXXXX.pdf sur le serveur
    - gérer si ya pas de XXXXXXX recherché dans l'url
    - éviter la bidouille pdf2
    Idéalement une interface de saison nom+prénom+code sera mieux mais ça suppose la mise en place d'une mini-appli et base de données à gérer....


    htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RedirectMatch ^.*\.(pdf2|doc)$ /redirection.php?lien=$0
    et côté PHP :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
     
    $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=== 'on' ? "https" : "http")."://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
    $source=$_GET['lien']; //contient l'url initale par exemple https://public.notresite.fr/truc%20bidule%20-%2099999999.pdf2
     
    //on cherche les 8 chiffres qui sont à la fin après le dernier espace.
    $tab=explode(" ",$source); // on split par caractère espace
    $code=array_pop($tab); // on garde que le dernier c-a-d le code+ .pdf2 99999999.pdf2
     
     
    //on redirige vers le fichier
     
    // ça enlève le 2 dans pdf2 c-a-d le dernier caractère. Pour avoir pdf au lieu de pdf2  
    $code=substr($code, 0, -1); 
     
     
    //recherche du fichier sur le serveur  contenant ce code à 8 chiffres
    $filtre=$code;
    foreach (glob("*".$filtre) as $filename) {
        $fichier=$filename; //ça garde le nom du dernier fichier correspondant au filtre
    }
     
    header('Location: https://public.notresite.fr/'.$fichier);
    exit;
    ?>

Discussions similaires

  1. Réponses: 32
    Dernier message: 14/06/2012, 16h45
  2. [MySQL] decalage dans les nom des colonnes avec les checkbox
    Par tortue_22 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/04/2009, 12h58
  3. selectionner noms des tables avec conditions
    Par Beltegeuse dans le forum Requêtes
    Réponses: 3
    Dernier message: 30/04/2008, 16h09
  4. Réponses: 5
    Dernier message: 21/08/2007, 12h17
  5. fonction qui met en liste les noms des fichiers
    Par aliassaf dans le forum Général Python
    Réponses: 2
    Dernier message: 22/06/2006, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo