Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218

    Funzione per friendly url e rewite rule per web.config

    Salve,

    avrei bisogno di una funzione (immagino regex) vbscript che dato un testo (il titolo della notizia) mi restituisca il testo formattato url friendly ("il-titolo-della-notizia").

    e poi mi servirebbe la relativa url rewrite da inserire nel web.config per ottenere da
    miosito.it/notizia.asp?titolo=la mia notizia
    miosito.it/la-mia-notizia/

    grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da ominox Visualizza il messaggio
    Salve,

    avrei bisogno di una funzione (immagino regex) vbscript che dato un testo (il titolo della notizia) mi restituisca il testo formattato url friendly ("il-titolo-della-notizia").
    per unire gli spazi ti basta un replace "tua stringa".replace(' ','-')

    e poi mi servirebbe la relativa url rewrite da inserire nel web.config per ottenere da
    miosito.it/notizia.asp?titolo=la mia notizia
    miosito.it/la-mia-notizia/

    grazie
    il web.config funziona per .net (aspx) e comunque se non ricordo male è ininfluente al url-rewrite sempre andando a memoria per asp devi modificare dei parametri in iis se puoi accedervi (il server è tuo non in hosting) altrimenti devi eseguire una operazione complessa (vedi google url-rewrite asp)
    Ultima modifica di cavicchiandrea; 18-03-2014 a 08:04
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    Grazie per la risposta,
    non devo semplicemente eliminare lo spazio, ma anche tutti i caratteri non consentiti nelle url.

    Su hosting windows aruba l'url rewrite con il web.config funziona anche sui file asp

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Quote Originariamente inviata da ominox Visualizza il messaggio
    Su hosting windows aruba l'url rewrite con il web.config funziona anche sui file asp
    argh... spiega bene.
    la documentazione ufficiale dice il contrario...(essendo web.config parte di asp.net -abilitato su win 2008- e non essendoci librerie isapi installate)


    dov'è il trucco?

  5. #5
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    argh... spiega bene.
    la documentazione ufficiale dice il contrario...(essendo web.config parte di asp.net -abilitato su win 2008- e non essendoci librerie isapi installate)


    dov'è il trucco?
    Ora aruba ha Windows 2008. pui connetterti anche tramite iis e creare da li le regole di riscrittura, oppure scriverle nel web.config (penso sia esattamente la stessa cosa, ovvero se le scrivi tramite la console di iis va a scriverle sul web.config).

    A me funziona con i file asp.

  6. #6
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    uppo

    non riesco a trovare la funziona per formattare l'url

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Prova questa:
    codice:
    'Funzione per pulire una stringa e trasformarla in un URL valido
    Function ConvertiTitoloInNomeScript(strTitolo)
        risultato = strTitolo
        risultato = replace(risultato, "à", "a")
        risultato = replace(risultato, "è", "e")
        risultato = replace(risultato, "é", "e")
        risultato = replace(risultato, "ì", "i")
        risultato = replace(risultato, "ò", "o")
        risultato = replace(risultato, "ù", "u")
    
        set re = Server.CreateObject("VBScript.RegExp")
        re.Pattern = "[^\da-z]" 'Lascio solo numeri e lettere
        re.global = true
        re.IgnoreCase = true
        risultato = re.replace(risultato,"-") 'Il resto lo sostituisco con il -
    
        re.Pattern = "-{2,}"
        re.global = true
        re.IgnoreCase = true
        risultato = re.replace(risultato,"-") 'Lascio un solo - se ne ce sono di più consecutivi
        set re = nothing
        
        if left(risultato,1) = "-" then
            risultato = mid(risultato,2,len(risultato)-1) 'Tolgo - se è il primo carattere
        end if
        if right(risultato,1) = "-" then
            risultato = left(risultato,len(risultato)-1) 'Tolgo - se è l'ultimo carattere
        end if
        risultato = lcase(risultato)
        ConvertiTitoloInNomeScript = risultato
    Enf Function

  8. #8
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    Grazie per la funzione roby, pare funzionare a dovere.

    approfitto della tua disponibilità ed esperienza...

    sono riuscito ad ottenere il rewrite dell'url, ma in questa forma

    miosito.it/notizie/la-mia-notizia-idnotizia.html o miosito.it/notizie/idnotizia/la-mia-notizia.html

    ovvero sono obbligato a portare nell'url anche l'id del record (idnotizia) per effetuare poi la query sul db.
    così facendo con request("idnotizia") recupero l'id.


    Come si ovvia a questa cosa? vorrei nell'url solo il titolo e non l'id del record.
    Esiste un modo di scrivere le regole nel web.config per "nascondere" l'id notizia ma renderlo lo stesso recuperabile?

    grazie

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Solo ciò che è nell'URL può essere recuperato non ciò che non appare. Puoi usare l'URL senza ID e fare la query in base a quello.
    Assicurati di mettere l'URL in chiave e di non aggiungerne due uguali.

    Roby

  10. #10
    Utente di HTML.it L'avatar di ominox
    Registrato dal
    Dec 2001
    Messaggi
    218
    eppuire penso ci debba essere un modo per fare una mappatura degli url nel web.config senza dovermi portare l'id o senza fare la query sull'url.
    tutti i siti che hanno friendly url (php o asp.net) non hanno l'id nell'url e dubito che facciano la query sull'url...

    provo a chiedere nel forum di php

    grazie mille

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.