• User

    ISAPI_Rewrite

    Ciao a tutti, ho l'esigenza di usare questo componente che è installato sul server del mio provaider, solo che non riesco a farlo andare nemmeno in locale, qualcuno che l'usa mi puo' dare una mano?
    Penso che per iniziare mi basterebbe dare un occhiata ad un file httpd.ini funzionante per fare un semplice rewrite di:

    www.miosito.com/home.asp?Classe=pippo

    in

    www.miosito.com/pippo/

    grazie ancora


  • User Attivo

    @O-WK said:

    Ciao a tutti, ho l'esigenza di usare questo componente che è installato sul server del mio provaider, solo che non riesco a farlo andare nemmeno in locale, qualcuno che l'usa mi puo' dare una mano?
    Penso che per iniziare mi basterebbe dare un occhiata ad un file httpd.ini funzionante per fare un semplice rewrite di:

    www.miosito.com/home.asp?Classe=pippo

    in

    www.miosito.com/pippo/

    grazie ancora

    Ciao,

    per quel rewriting è sufficiente una regola semplice come questa

    RewriteRule /([^/]*)/? /home.asp?Classe=$1

    Per fare le prove e vedere quali variabili riesci a ricevere ti consiglio di inserire in home.asp il seguente codice

    <%
    FOR EACH SV IN Request.ServerVariables
    Response.Write "<p>" & SV & " = " & request.servervariables(SV) & "</p>"
    NEXT
    %>


  • User

    @fheller said:

    Ciao,
    per quel rewriting è sufficiente una regola semplice come questa
    RewriteRule /([^/]*)/? /home.asp?Classe=$1
    Per fare le prove e vedere quali variabili riesci a ricevere ti consiglio di inserire in home.asp il seguente codice
    <%
    FOR EACH SV IN Request.ServerVariables
    Response.Write "<p>" & SV & " = " & request.servervariables(SV) & "</p>"
    NEXT
    %>

    Ciao e grazie della pronta risposta, smanettando in locale sul mio server utilizzando il regular espression toll mi dà che se voglio cambiare questo link da:

    localhost:100/scegli_classe.asp?Abatjour

    a

    localhost:100/Abatjour/

    devo inserire nel file questo:

    $1/scegli_classe.asp?$2

    ora il mio file httpd.ini è precisamente questo:

    [ISAPI_Rewrite]

    3600 = 1 hour

    CacheClockRate 3600

    RepeatLimit 32

    Block external access to the httpd.ini and httpd.parse.errors files

    RewriteRule /httpd(?:.ini|.parse.errors).* / [F,I,O]

    Block external access to the Helper ISAPI Extension

    RewriteRule ..isrwhlp / [F,I,O]
    RewriteRule /([^/]
    )/? $1/scegli_classe.asp?$2

    e se inserisco il codice che mi hai dato nella pagina scegli classe mi dà una sbrodolata di informazioni tra cui questo:

    HTTP_X_REWRITE_URL:/Scegli_classe.asp?Classe=Abatjour

    Ovviamente quando passo sul link sul browser mi fà come se non ci fosse nessun rewrite in pratica vedo e punto a :

    localhost:100/Scegli_classe.asp?Classe=Abatjour


  • User Attivo

    @O-WK said:

    localhost:100/scegli_classe.asp?Abatjour

    a

    localhost:100/Abatjour/

    Nell'esempio indicato la query stirng non mi apre completa, ci deve essere

    ?variabile=valore

    RewriteRule /([^/]*)/? /scegli_classe.asp?Classe=$1

    La variabile più importante da tenere d'occhio nella "sbrodolata" di informazioni è QUERY_STRING

    Comunque per ottenre il risultato voluto io scriverei quresta regola


  • User

    @fheller said:

    Nell'esempio indicato la query stirng non mi apre completa, ci deve essere

    ?variabile=valore

    RewriteRule /([^/]*)/? /scegli_classe.asp?Classe=$1

    La variabile più importante da tenere d'occhio nella "sbrodolata" di informazioni è QUERY_STRING

    Comunque per ottenre il risultato voluto io scriverei quresta regola

    Hai ragione, scrivendo di fretta ho tralasciato, comunque ho aggiunto la stringa da te indicata e non va lo stesso, la QUERY_STRING mi dà:

    QUERY_STRING = Classe=Abatjour


  • User Attivo

    @O-WK said:

    Hai ragione, scrivendo di fretta ho tralasciato, comunque ho aggiunto la stringa da te indicata e non va lo stesso, la QUERY_STRING mi dà:

    QUERY_STRING = Classe=Abatjour

    La query string è giusta, quindi congratulazioni, funziona 😄


  • User

    @fheller said:

    La query string è giusta, quindi congratulazioni, funziona 😄

    Mi sfugge qualcosa allora ... perchè quando vado sul link in questione mi si presenta sempre con il vecchio formato "localhost:100/scegli_classe.asp?Abatjour" e se ci clicco nella url del browser mi appare "localhost:100/scegli_classe.asp?Abatjour" anzichè

    localhost:100/Abatjour/

    ??

    Ciao e grazie


  • User Attivo

    crea un link come questo

    <a href="http://localhost:100/Abatjour/">Cliccami</a>

    Se cliccandolo la pagina di arrivo ti restituisce la query string giusta nella "Sbrodolata" di dati, allora è tutto ok


  • User

    @fheller said:

    crea un link come questo

    <a href="http://localhost:100/Abatjour/">Cliccami</a>

    Se cliccandolo la pagina di arrivo ti restituisce la query string giusta nella "Sbrodolata" di dati, allora è tutto ok

    Se faccio come mi hai detto mi dà:

    HTTP 404 - File not found

    e quindi non mi fà vedere nemmeno la QUERY_String


  • User Attivo

    @O-WK said:

    Se faccio come mi hai detto mi dà:

    HTTP 404 - File not found

    e quindi non mi fà vedere nemmeno la QUERY_String

    Ti copio e incollo il mio httpd.ini, fatto di una sola regola, funzionante

    RewriteRule /([^/]*)/? /scegli_classe.asp?Classe=$1


  • User

    @fheller said:

    Ti copio e incollo il mio httpd.ini, fatto di una sola regola, funzionante

    RewriteRule /([^/]*)/? /scegli_classe.asp?Classe=$1

    In pratica nel file httpd.ini hai scritto solo una riga di codice che è quella sopra indicata?
    Ho provato anche in questo modo ma nulla, pagina non trovata ... inizio a pensare o che ho problemi di configurazione della ISAPI in locale, o che non capisco bene come dovrebbe funzionare, in pratica una volta stabilite le regole dovrebbe fare tutto da sola o deve richiamare io tramite asp questa libreria?

    Grazie ancora per il supporto


  • User Newbie

    Ciao Ragazzi sto smanettanto anche io con questo ISAPI_rewrite e sto avendo non pochi problemi. ad esempio ho messo sul web server il filtro ma come faccio a dire nel file httpd.ini che queste regole si rifieriscono ad un dominio solo si compila il RewriteCond Host: (.+) ?

    Grazie e scusate se continuo su questo argomento noioso :mmm: