- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP] e url rewrite
-
[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...
-
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?
-
Semplicemente ad ogni aggiunta nel database crea fisicamente una pagina sul server...io la creo in .asp e ci memorizzo l'id.
-
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
-
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.
-
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