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

    Url Rewrite dopo Submit

    Non so se l'argomento è molto comune, in effetti non ho visto tanti topics sulla rete (ovvero 0) riguardo a ciò.

    Desidererei che quando un form di tipo Get viene inviato non voglio che mi compaia la querystring nella barra dell'indirizzo ma un indirizzo formattato.

    Non sono molto addentro l'argomento però smanettanto con Mod_rewrite e anche con ISAPI_rewrite mi da l'impressione che quest'ultimo sia un tantino più avanti del primo in quanto permette di fare ciò citato prima con molta semplicità mentre non riesco ad ottenerlo con Mod_rewrite.

    Mettiamo che ho un form con solo il campo "nome" e il bottone "Submit" il quale invia la richiesta alla pagina show.php che mostra dei risultati relativi, normalmente avremo nella barra dell'indirizzo /show.php?nome=gina&Submit=Invia invece io voglio che compaia /test/gina.html e voglio anche che non si sappia che l'azione e diretta alla pagina show.php per cui nell'action del form devo mettere action="test" e non action="show.php".

    Se lo faccio con ISAPI_rewrite riesce in questo modo:

    RewriteRule ^test\?nome=([^&]+)&Submit=Invia$ test/$1.html [R]
    RewriteRule ^test/(.+)\.html$ show.php?nome=$1 [L]

    per cui inviando il form mi da il risultato ma mi mostra l'indirizzo /test/gina.html
    In qualche modo sembra che il flag Redirect funzioni in maniera differente, non so se dire più effettivo.

    Bene non c'è stato verso di farglielo fare al Mod_rewrite, ovviamente c'è da mettere in conto che non sono molto preparato sull'argomento e qualcosa mi sfuggirà per cui ottimisticamente penso che se ci riesce l'uno dovrebbe riuscirci l'altro anche con una procedura un pò differente.
    Ho provato qualche altra soluzione ma il massimo che ho ottenuto è un indirizzo del genere /test?nome=gina&Submit=Invia il quale non è una soluzione che mi piace. Purtroppo sui server Apache sarà difficile trovare l'isapi.

    Mi auguro e spero che qualcuno possa buttare un pò di luce su di me.

    Grazie

  2. #2
    Allora?

    Sarà forse la differenza fra Apache e IIS ???

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Premesso di non saperne molto, non credo che il mod_rewrite ti permetta di "cambiare" al volo un url, ma solo di interpretarlo in modo diverso. Mi spiego:
    Se nella barra degli indirizzi scrivo /pippo.html Apache andrà a cercare la pagina pippo.html, salvo diversa indicazione.
    Di conseguenza con un rewriting di questo tipo:
    codice:
    RewriteEngine on
    rewriterule ^pippo.html$ /topolino.html
    Alla richiesta /pippo.html Apache andrà a caricare il contenuto della pagina /topolino.html.


    Portando questo ragionamento al tuo caso specifico, il form invia la richiesta in GET e così resta nella barra degli indirizzi. Per cambiarne la forma dovresti appoggiarti ad una pagina php che esegue un redirect dopo aver "formattato" l'url secondo le tue richieste.

    Non garantisco sul contenuto della risposta
    think simple think ringo

  4. #4
    Ho raccolto un pò di notizie in giro e sembra che non è attualmente fattibile questa soluzione su Apache, mi dovrò adeguare. La soluzione della pagina di appoggio ci avevo già pensato ma per adesso me la risparmio.

    Ad ogni modo, "believe it or not", su IIS avviene, immagino sia il server e non il modulo che fa la differenza, chissà magari sarà un modo differente di gestire il Redirect.

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.