Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    rewrite url - redirect di file pdf

    è possibile fare in modo che ad ogni richiesta di download di un pdf si venga reinderizzati ad una pagina html da cui far partire il download?
    i pdf sono del tipo nomefile.pdf e sono trasferiti su server tramite ftp.
    praticamente tutto il "cuore" del sito sono questi "pdf", ed essendo tanti, mi chiedevo se c'è un modo per non perdere gli accessi e chiavi di ricerca.
    grazie

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Si,
    ci sono diversi thread al riguardo (ovvero sull'url rewriting).

    Prova a fare una ricerca ed abbozzare una prima soluzione, poi vediamo come affinarla.
    think simple think ringo

  3. #3
    salve marketto e grazie per avermi risposto.
    Ho già cercato, sia sul forum che su web, ma non ho trovato quello che fa al caso mio, per questo ho postato.
    Oggi nel primo pomeriggio riprovo, scriverò le difficoltà cui vado incontro.
    Intanto grazie :quote:

  4. #4
    Sto invano cercando e provando, almeno a capire la strada da prendere.
    Allora, io ho una cartella /pdf dove all'interno ci sono vari pdf con nomi alfanumerici.
    dovrei fare in modo che se arriva una richiesta di trasferimento di un file pdf, non parta il download ma si venga indirizzati ad una pagina in cui:
    -recupero la richiesta per linkare o in fare in modo che si possa effettivamente scaricare il pdf
    -recupero eventualmente i dati di chi accede per le statistiche
    Non capisco come devo procedere.
    Ad intuito direi che non devo fare un rewrite dell'url ma un redirect, e se si devo farlo da php o con l'htaccess?
    help please

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Senza avere altre info posso consigliarti una soluzione di questo tipo:
    codice:
    rewriterule ^/tua/dir/([a-z\-]{1,}).pdf /download_pdf.php?pdf=$1 [L]
    ogni richiesta relativa a /tua/dir/documento.pdf verrà reindirizzata allo script download_pdf.php?pdf=documento, dove potrai gestire le statistiche e far iniziare il download.
    think simple think ringo

  6. #6
    grazie marketto, sto provando da un paio di ore.
    dunque, i nomi dei file sono tipo
    1.200.pdf
    13-200.pdf
    dieci.pdf
    13dieci.pdf
    mettendo il codice che mi hai dato solo alcuni vengono rediretti.
    ho aggiunto altro codice per prendere tutti i pdf con i nomi diversi e ridirigerli verso index.php
    <IfModule mod_rewrite.c>
    RewriteEngine On
    rewriterule ^([a-z\-]{1,}).pdf index.php?pdf=$1 [L]
    rewriterule ^([a-z\0-9]{1,}).pdf index.php?pdf=$1 [L]
    rewriterule ^([0-9\.a-z]{1,}).pdf index.php?pdf=$1 [L]
    rewriterule ^([0-9\-a-z]{1,}).pdf index.php?pdf=$1 [L]
    </IfModule>
    ora devo mettere il codice da eseguire in index.php, sempre ad intuito direi che devo prendere con un get la $1 che passa l'url per consentire così un echo tipo
    <a href="/nomepdf.pdf>clicca qui</a>
    .
    Ho notato però che quando si viene rediretti su index.php l'indirizzo nell'url è http://localhost/a.pdf senza variabili dopo il .pdf.
    E' corretto??
    Ora devo scappare, in serata mi ci rimetto un paio di ore.
    Ti ringrazio

    Un'altra domanda - avendo impostato il redirect ai pdf, non è che anche cliccando poi sul download da index.php si viene rediretti in loop sempre su index.php?

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da casalawrence
    Ho notato però che quando si viene rediretti su index.php l'indirizzo nell'url è http://localhost/a.pdf senza variabili dopo il .pdf.
    E' corretto??
    si

    Originariamente inviato da casalawrence
    Un'altra domanda - avendo impostato il redirect ai pdf, non è che anche cliccando poi sul download da index.php si viene rediretti in loop sempre su index.php?
    dipende da come intendi effettuare il download, se tramite script php oppure tramite link diretto.
    think simple think ringo

  8. #8
    Bhè, io tra lo script php e il link diretto non saprei come fare perciò scelgo e faccio come tu mi consiglierai!
    Cercando e provando, correggimi se sbaglio, mi pare di capire che ora devo recuperare i valori del nome del file pdf passati tramite htaccess>>>index.php?pdf=$1 [L], quindi la variable da gestire è $1, giusto?
    Quindi nella pagina php devo inserire un get con cui prendo $1 e poi la ristampo come link.
    ho provato a fare così
    <?php
    $recupero = $_GET[1];
    echo $recupero;
    ?>
    ma non funziona.
    Ho trovato questo
    <?
    if(!isset($_GET) OR !$_GET OR !is_array($_GET) OR count(array_diff($_GET, $HTTP_GET_VARS))){
    $_GET = &$HTTP_GET_VARS;
    $_POST = &$HTTP_POST_VARS;
    $_SERVER = &$HTTP_SERVER_VARS;
    $_ENV = &$HTTP_ENV_VARS;
    $_COOKIE = &$HTTP_COOKIE_VARS;
    $_FILES = &$HTTP_POST_FILES;
    $_SESSION = &$HTTP_SESSION_VARS;
    }
    ?>
    ma non so come usarlo.

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    <?php
    $recupero = isset( $_GET['pdf'] ) ? $_GET['pdf'] : '';
    echo $recupero;
    ?>
    think simple think ringo

  10. #10
    grazie ancora marketto , funziona!!!
    ora in index.php ho questo codice
    Codice PHP:
    <?php
    $recupero 
    = isset( $_GET['pdf'] ) ? $_GET['pdf'] : '';
    ?>
    <h3>hai chiesto di scaricare il file <?php echo $recupero?>.pdf</h3>
    [url="/Archivio/<?php echo $recupero?>.pdf"]clicca qui per proseguire[/url]
    Ma vengo sempre reinderizzato su index.php.
    Ho pensato di dire all'htaccess che se il referer da cui si accede è il server locale può consentire l'accesso al pdf.
    Ho trovato questo codice
    RewriteCond %{HTTP_REFERER} !^http://localhost/.*$ [NC]
    RewriteRule .*.(pdf)$ ->
    l'ho aggiunto nell'htaccess, ma continua a reinderizzarmi su index anche mettendo 127.0.0.1 al posto di localhost.
    come devo procedere?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.