Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Fare un redirect controllando una porzione di indirizzo

    Salve a tutti ho questa necessità.

    Mettiamo che io ho un file chiamato prova.pdf dentro una cartella del server remoto chiamata allegati -> quindi www.miosito.it/allegati/prova.pdf

    siccome io ho la necessità (per vari motivi) di non far vedere questo indirizzo e sopratutto questa cartella allegati avevo pensato di fare così.

    metto un link a www.miosito.it/download/prova.pdf ..... la pagina va alla 404 perchè non esiste questo indirizzo e io mi personalizzo la 404 controllando in questa pagina che se l'indirizzo è

    www.miosito.it/download/..... deve cambiare il termine download con allegati e fare una server.transfert

    così all'utente sembra di stare in www.miosito.it/download invece è su www.miosito.it/allegati

    ma come ricavo le variabili da controllare dall'indirizzo?

    spero di essere stato chiaro......

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    cerca nel forum "download forzato"

    Roby

  3. #3
    Ok grazie sto quasi risolvendo...... una domanda

    posso fare una server.transfer assoluta ?

    cioè con il redirect funziona:

    codice:
    response.redirect("http://www.miosito.it/prova.asp")
    con il server.transefer no mi dà questo errore:
    È stato specificato un formato di URL non valido oppure un URL assoluto completo. Utilizzare URL relativi.

    codice:
    Server.transfer("http://www.miosito.it/prova.asp")
    posso solo utilizzare url relativi ??

  4. #4

  5. #5
    bella fregatura......

  6. #6
    Scusami ancora ma secondo te cosa ha che non va questo script?

    codice:
    PaginaIn=Request.ServerVariables("QUERY_STRING")
    
    If (instr(PaginaIn,"http://")>0) and (instr(PaginaIn,"download")>0) and (instr(PaginaIn,".pdf")>0) Then
    
    PaginaIn=mid(PaginaIn,instr(PaginaIn,"download"))
    Url_finale=mid(PaginaIn, 9)
    
    Server.transfer("/allegati" & url_finale) 'linea 16
    
    else
    Server.transfer("/404b.htm")
    end if
    prendo il valore diciamo del link;
    se questo valore esiste, contiene la parola download e l'estenzione .pdf allora mi ricavo la stringa che viene immediatamente dopo la parola download (es: "www.miosito.it/download/prova/allegato.pdf" ottengo "/prova/allegato.pdf") e faccio la server.transfer mettendo /allegati prima di /prova/allegato.pdf
    ho stampato a video quello che metto dentro server.transfer e mi dà esattamente quello che voglio ovvero "/allegati/prova/allegato.pdf"
    ma se lo provo mi dà questo errore:

    Pagine ASP error 'ASP 0116'
    Impossibile trovare il delimitatore di chiusura dello script
    /allegati/prova/allegato.pdf, line 4598
    Non è stato specificato il tag di chiusura dello script (%>). error '8000d001'
    /404.asp, line 16

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    te lo dice... Non hai messo %> alla fine dello script ASP.

    Roby

  8. #8
    Me lo dirà anche ma il %> c'è eccome sennò me ne sarei ovviamente accorto.....

    ecco la pagina completa:

    codice:
    <%@LANGUAGE='VBSCRIPT' CODEPAGE='65001'%>
    <%
    PaginaIn=Request.ServerVariables("QUERY_STRING")
    
    If (instr(PaginaIn,"http://")>0) and (instr(PaginaIn,"download")>0) and (instr(PaginaIn,".pdf")>0) Then
    
    PaginaIn=mid(PaginaIn,instr(PaginaIn,"download"))
    Url_finale=mid(PaginaIn, 9)
    
    Server.transfer("/allegati" & url_finale)
    
    							else
    							Server.transfer("/404b.htm")
    							end if
    
    
    %>

  9. #9
    cosa veramente meravigliosa è che se al posto di server.transfer metto un response.redirect funziona!!!

    codice:
    response.redirect("/_allegati" & Url_finale)
    e nell'altro modo no...... che particolarità ha il server.transfer che mi sfugge?!

  10. #10
    Praticamente se un file supera le 250 kb con il server.transfert dà quell'errore assurdo con il redirect no.

    Mah.........

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.