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

    qualcuno mi può aiutare col mod_rewrite per favore?

    Ciao
    Ho un sito con parte delle pagine in php (db mysql) e sarei interessata a riscrivere gli URL in html

    Ho letto diversi thread (soprattutto nel forum dei motori di ricerca, a proposito grazie!) e mi sono fatta un'idea su cosa fare...

    premetto che purtroppo non sono molto esperta di programmazione e simili, però la sintassi dovrebbe essere come segue (per favore correggetemi se sbaglio!)...

    le pagine che mi interessa cambiare sono tipo
    http://www.miosito.com/catalog.php?codice=2
    http://www.miosito.com/catalog.php?codice=13
    ecc ecc

    e per fare ciò si dovrebbe aggiungere questo a .htaccess:

    RewriteEngine on
    RewriteRule ^catalog/([^/]+).html catalog.php?codice=$1 [L]

    per ottenere

    http://www.miosito.com/catalog/2.html
    http://www.miosito.com/catalog/13.html
    ecc ecc

    Io però, sapendo che la categoria 2 corrisponde a pippo e la 13 corrisponde a pluto, vorrei ottenere un risultato tipo

    http://www.miosito.com/catalog/pippo.html
    http://www.miosito.com/catalog/pluto.html

    e non so proprio come si fa.
    Spero che qualcuno di voi mi possa dare una mano,
    grazie!
    Marzia

    p.s.
    spero di aver postato nel forum giusto, se dovevo postare in quello dei motori di ricerca per favore spostate il thread! grazie!

  2. #2
    Ciao,
    se devi creare degli alias per gli id non hai che una soluzione è creare una mappa degli url usando la direttiva RewiteMap, è una tecnica che non ho mai usato perchè non ne ho avuto la necessità, ma che può tornare utile nel tuo caso

    http://www.sitepoint.com/article/guide-url-rewriting/4

    Crei una mappa id -> alias in un file di testo e poi dici al mod_rewrite che deve usare quella
    per favore NIENTE PVT TECNICI da sconosciuti

  3. #3
    Grazie per la risposta!
    Per mettere in pratica la tua soluzione è forse necessario avere accesso al server (per modificare il file httpd.conf)? In quel caso niente da fare purtroppo. Posso ottenere la stessa cosa cambiando solo .htaccess?
    Grazie ancora
    Marzia

  4. #4
    però in questo modo rallenti ogni richiesta al server, non sarebbe meglio avere un campo nel database UNICO da usare come identificativo?

  5. #5
    Ciao Bubu,
    grazie per la risposta!

    Stai parlando con una che non è praticissima di DB ecc, quindi abbi pazienza con me se dico eresie

    In pratica se ho capito bene dovrei editare il DB aggiungendo ad ogni categoria un campo unico... tipo appunto "pippo" o "pluto".
    Questo penso di saperlo fare.

    Il problema rimangono gli URL che per ora sono tutti listati nei vari motori di ricerca così:

    http://www.miosito.com/catalog.php?codice=2

    Col mod_rewrite e avendo un campo unico nel database dimmi se posso arrivare ad ottenere

    http://www.miosito.com/catalog/pippo.html



    Sarebbe la soluzione migliore! Se è qualcosa di troppo complesso o se per farlo devo rallentare o appesantire mi accontenterò di ottenere

    http://www.miosito.com/catalog/2.html

    che si fa con poco e non dovrebbe avere nessuna "controindicazione" ( e pazienza per la mancata keyword nel URL

    Fatemi sapere e grazie!
    Marzia

  6. #6
    Stavo pensando...
    visto che di categorie non ne sono poi tante (una sessantina), se cambio manualmente il codice da numerico a "pippo", "pluto" ecc (ma si può fare???)

    poi faccio un 301 redirect di tutte le pagine

    http://www.miosito.com/catalog.php?codice=2

    a

    http://www.miosito.com/catalog.php?codice=pippo

    e poi faccio il mod_rewrite semplice, arrivo lo stesso a

    http://www.miosito.com/catalog/pippo.html

    sbaglio?

  7. #7
    Mi sa che sbaglio

  8. #8
    Ok,
    per ora ho usato il mod_rewrite semplice e ho ottenuto

    da

    http://www.miosito.com/catalog.php?codice=2

    a

    http://www.miosito.com/2.html

    e funziona
    mi sa che è meglio se mi fermo qui senza addentrarmi in cose troppo complesse per me.
    Grazie comunque a tutti!!!

    M.

  9. #9
    Originariamente inviato da marzia289
    Grazie per la risposta!
    Per mettere in pratica la tua soluzione è forse necessario avere accesso al server (per modificare il file httpd.conf)? In quel caso niente da fare purtroppo. Posso ottenere la stessa cosa cambiando solo .htaccess?
    Grazie ancora
    Marzia
    E' sufficiente .htaccess, ma c'è il problema di cui ti parlava Bubu: se il tuo sito riceve moltissime visite la continua lettura dell'.htaccess e della mappa possono comportare un certo overhead per il server.

    Come ti ha suggerito Bubu, anzichè l'id numerico (o oltre all'id numerico) puoi creare un id testuale nel database che faccia da alias dell'id numerico
    per favore NIENTE PVT TECNICI da sconosciuti

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.