• User

    [ASP] e url rewrite

    Salve gente, ecco che ancora vengo a voi con una bella domanda alla quale io risponderei con un IMPOSSIBILE (perdonerete il maiusco che tanto è rivolto a me stesso) ma che comunque giro a voi che ne sapete di più di me di asp (io lo ammetto non ne so nulla)...

    Un modo per fare url rewriting in asp (no non il net altrimenti sarebbe facile 😄 ) e senza usare isapi rewrite che costa 😄 altrimenti anche in questo caso è troppo facile...


  • User

    Notizie dal fronte:

    Ho trovato un sistema, direi almeno macchinoso, tramite il quale asp creerebbe delle pagine fittizie in html... non è un url rewrite ma sembra essere la cosa più ficina ad esso...

    Non è il solo altro modo vero?


  • User Attivo

    Semplicemente ad ogni aggiunta nel database crea fisicamente una pagina sul server...io la creo in .asp e ci memorizzo l'id.


  • User

    Ti ho scritto due righe per creare qualcosa di fittizio tramite un paio di funzioni;

    Nello specifico crea una pagina contenitore con l'url pulito e digeribile scrivendo all'intenro gli eventuali id per richiamere il record. Avevo creato e scritto un codice invece che creava fisicamente la pagina html.

     
    <%
     '----------°°°°°°°°°°°°°°°°°°°°°°°°°°----------
     'Inizio codice da personalizzare
     
     percorso="/public"    'cartella dove creare la pagina accertarsi di avere i permessi di scrittura
     pagina="/default.asp"   'pagina da includere
     QueryID="CAT_ID"    'Parametro id per recuperare dal db
      
     '----------°°°°°°°°°°°°°°°°°°°°°°°°°°----------
     'Fine codice da personalizzare non toccare il resto
     Function NoHTML(Stringa)
      Set RegEx = New RegExp
      RegEx.Pattern = "<[^>]*>"
      RegEx.Global = True
      RegEx.IgnoreCase = True
      NoHTML = RegEx.Replace(Stringa, "")
     End Function
     Function unisci(testo, id)
      Risultato = testo
      Risultato = NoHTML(Risultato)
      Risultato = LCase(Risultato)
      Risultato = Replace(Risultato, " ", "-")
      Risultato = Replace(Risultato, "\", "-")
      Risultato = Replace(Risultato, "/", "-")
      Risultato = Replace(Risultato, ":", "-")
      Risultato = Replace(Risultato, "*", "-")
      Risultato = Replace(Risultato, "?", "-")
      Risultato = Replace(Risultato, "<", "-")
      Risultato = Replace(Risultato, ">", "-")
      Risultato = Replace(Risultato, "|", "-")
      Risultato = Replace(Risultato, """", "")
      Risultato = Replace(Risultato, "'", "-")
      Risultato = id & "-" & Risultato & ".asp"
      unisci = Risultato 
     End Function
     
     Function eliminapagina(pag,add)
       Set FSO = CreateObject("Scripting.FileSystemObject")
       If FSO.FileExists(Server.MapPath(percorso) & "\" & unisci(pag,add)) Then
        Set Documento = FSO.GetFile(Server.MapPath(percorso) & "\" & unisci(pag, add))
        Documento.Delete
        Set Documento = Nothing
        Set FSO = Nothing
       End If
       
     End Function
     Function creapagina(pag,add)
       Set FSO = CreateObject("Scripting.FileSystemObject")
       Set Documento = FSO.OpenTextFile(Server.MapPath(percorso) & "\" & unisci(pag,add), 2, True)
       ContenutoFile = ""
       ContenutoFile = ContenutoFile & "<" & "%" & vbCrLf
       ContenutoFile = ContenutoFile & ""&QueryID&" = "& add &"" & vbCrLf
       ContenutoFile = ContenutoFile & "%" & ">" & vbCrLf
       ContenutoFile = ContenutoFile & "<!--#include virtual="""& pagina &"""-->"
       Documento.Write ContenutoFile
       Set FSO = Nothing
     End Function
    %>
    
    

    Spero ti possa essere utlie


  • User Attivo

    Si, in linea di massima è quello che facciamo anche noi in agenzia.

    A livello SEO ti consiglio però di mettere l'id alla fine e non all'inizio del nome della pagina (google dà più rilevanza alle parole iniziali del testo).

    P.S.: Cerca di adottare un buon sistema alla modifica di un record e conseguentemente alla modifica del file.


  • User

    La penso come te,

    solo vedendo l'url del forum gli ho creato la stessa funzione...

    ...asp-asp-net/141777-asp-e-url-ecc...

    Nell'altro post mentre creo fisicamente la pagina in html e anche quello è interessante.

    Ciao Max