Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1

    Informazioni sul modificare gli url dinamici in html???

    Ciao a tutti,
    volevo poter trasformare gli url dinamici di un mio sito in formato html così come fa il sito HTML.IT
    Ho letto nel forum e sul sito che ci sono vari metodi ed in particolare la mia attenzione è rivolta a due di questi:

    1) Mod rewrite mediante questa pillola

    2) Variabile PATH_INFO mediate questo articoloarticolo

    C'è qualche differenza fra i due metodi? Quale conviene usare?

    Il sito HTML per trasformare gli url quale metodo utilizza? Mi piacerebbe informarmi meglio sull'argomento prima di mettermi a lavoto.

    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non conosco path_info, sicuramente mod_rewrite funziona bene ed è di semplice implementazione una volta scritte le espressioni regolari corrette.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Il metodo con il path info è molto comodo quando, come avviene a volte quando si ha un sito in hosting da qualche cliente, i settaggi di php non ti permettono il mod_rewrite e non puoi stare a combattere con l'admin

    Differenze

    dato questo url: www.sito.com/index.php?variabile=valore

    Con mod_rewrite puoi creare qualcosa del genere (ad esempio)
    www.sito.com/index/variabile/valore

    Mentre con il metodo path info (che funziona solo su apache, ma che io uso sempre così non devo combattere con gli amministratori per i permessi) puoi ottenere (ad esempio)

    www.sito.com/index.php/variabile/valore

    Ma non hai la libertà che hai con il mod_rewrite

  4. #4
    stavo provando proprio adesso il mod_rewrite ma non mi funziona
    Il modulo è attivo perchè ho chiesto al mio maintener (Ar***) e ho copiato un esempio riportato nella pillola e ho fatto delle prove!

    Il risultato è che la variabile viene letta ma l'URL non cambia e resta dinamico.

    Io ho fatto così:

    www.mio-sito.it/test.php?id=prova

    il file .htaccess è stato messo nella root principale è ho scritto questo codice
    codice:
    RewriteEngine On
    RewriteRule ^test/([^/]+).html test.php?id=$1 [L]
    per raggiungere la pagina di prova (test.php) io scrivo nella barra degli URL questo indirizzo:

    www.mio-sito.it/test.php?id=prova

    ma esso resta così e non cambia in html.......forse mi sfugge qualcosa e commetto io qualche errore. Come faccio per fare una prova? Come devo raggiungere la pagina test.php?

    Grazie per la risposta

  5. #5
    Originariamente inviato da Leilond
    Il metodo con il path info è molto comodo quando, come avviene a volte quando si ha un sito in hosting da qualche cliente, i settaggi di php non ti permettono il mod_rewrite e non puoi stare a combattere con l'admin

    Differenze

    dato questo url: www.sito.com/index.php?variabile=valore

    Con mod_rewrite puoi creare qualcosa del genere (ad esempio)
    www.sito.com/index/variabile/valore

    Mentre con il metodo path info (che funziona solo su apache, ma che io uso sempre così non devo combattere con gli amministratori per i permessi) puoi ottenere (ad esempio)

    www.sito.com/index.php/variabile/valore

    Ma non hai la libertà che hai con il mod_rewrite
    Quindi la scelta dell'uno e dell'altro medoto è solo soggettiva e dettata dalle esigenze proprie.....??? Ai fini dell'indicizzazione dei motori di ricerca quale è meglio?

    Inoltre per sfruttare al meglio questa tecnica conviene utilizzare nella query_string dai valori che sia potenziali keyword giusto?

    Ad esempio :

    1)http://www.mio-sito.it/test.php?vari...5&variabile2=3

    oppure:

    2)http://www.mio-sito.it/test.php?vari...abile2=keyword

    Per ottenere un url di questo tipo:

    www.mio-sito.it/test/keyword/keyword.html

    devo per forza usare una query string tipo la 2 oppure posso usare una query 1 e poi mediante i valori numeri degli ID estrarre dal DB le possibili keywords e sostituirle nell'URL Ho fatto un casino vero? A parte gli scherzi... come è meglio comportarsi? Ho molti dubbi sul funzionamento.

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da spiadadda
    stavo provando proprio adesso il mod_rewrite ma non mi funziona
    Il modulo è attivo perchè ho chiesto al mio maintener (Ar***) e ho copiato un esempio riportato nella pillola e ho fatto delle prove!

    Il risultato è che la variabile viene letta ma l'URL non cambia e resta dinamico.

    Io ho fatto così:

    www.mio-sito.it/test.php?id=prova

    il file .htaccess è stato messo nella root principale è ho scritto questo codice
    codice:
    RewriteEngine On
    RewriteRule ^test/([^/]+).html test.php?id=$1 [L]
    per raggiungere la pagina di prova (test.php) io scrivo nella barra degli URL questo indirizzo:

    www.mio-sito.it/test.php?id=prova

    ma esso resta così e non cambia in html.......forse mi sfugge qualcosa e commetto io qualche errore. Come faccio per fare una prova? Come devo raggiungere la pagina test.php?

    Grazie per la risposta
    Non è questo il modo in cui funziona l'url rewrite.

    Devi essere tu a chiamare una pagina html e questa viene riscritta (solo a livello di interpretazione) dal server.
    Per questo motivo ha senso usare il mod_rewrite quando poi tu all'interno del sito componi i tuoi link come se fossero delle pagine html, sapendo che poi queste verranno riscritte nella notazione php in modo che possano essere prelevate le variabili dall'url.

    Ciao

  7. #7
    scusami ma non riesco a seguirti....come faccio a richiamare la pagina text.php del mio esempio?

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Non ho controllato la regex, anche perchè non sono un gran esperto, ma se è scritta correttamente se tu nell'url scrivi :


    dovresti ottenere la pagina che ti aspetti di ottenere con l'url

    In pratica sono 2 modi per chiamare la stessa pagina (infatti l'indirizzo
    http://www.sito.it/test.php?id=1 continua a essere raggiungibile, ma funziona anche http://www.sito.it/test/1.html)

    Ciao

  9. #9
    Originariamente inviato da gianiaz
    Non ho controllato la regex, anche perchè non sono un gran esperto, ma se è scritta correttamente se tu nell'url scrivi :


    dovresti ottenere la pagina che ti aspetti di ottenere con l'url

    In pratica sono 2 modi per chiamare la stessa pagina (infatti l'indirizzo
    http://www.sito.it/test.php?id=1 continua a essere raggiungibile, ma funziona anche http://www.sito.it/test/1.html)

    Ciao
    Grazie sei stato davvero molto chiaro e ho capito (almeno credo) il funzionamento...., ma facendo una prova mi sono reso conto che non fuunziona!
    Infatti digitando l'url:

    il broswer non trova nessuna pagina...ma mi esce la classica pagina:
    Not Found

    da ciò deduco l'errore è nell file .htaccess
    Scusami ma questo file non deve avere nessun nome? cioè prima del . (punto) non devo mettere nulla?

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da spiadadda
    Grazie sei stato davvero molto chiaro e ho capito (almeno credo) il funzionamento...., ma facendo una prova mi sono reso conto che non fuunziona!
    Infatti digitando l'url:

    il broswer non trova nessuna pagina...ma mi esce la classica pagina:
    Not Found

    da ciò deduco l'errore è nell file .htaccess
    Scusami ma questo file non deve avere nessun nome? cioè prima del . (punto) non devo mettere nulla?
    il nome di questo file è in tipico stile linux, il punto davanti server per dire che è un file nascosto e che non dovrebbe apparire nel directory listing (poi dipende dal client ftp).

    La regex sembra giusta però... stai facendo le prove in locale o su un server?

    Se caso provala su un altro server se ne hai la possibilità.

    Ad esempio se sei in locale controlla come nel file di conf di apache è settata questa direttiva:
    codice:
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
        AllowOverride All
    Ciao

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.