Visualizzazione risultati 1 fino 21 di 21

Discussione: Mod Rewrite: come si usa?

  1. #1
    Guest

    Predefinito Mod Rewrite: come si usa?

    Ciao a tutti!
    Ho cercato qui sul forum alcune informazioni sul mod rewrite, ma cerca che ricerco e leggi che rileggi non ho capito come farlo funzionare.

    Ho capito che devo modificare il file .htaccess, ma non so come..
    Inoltre, in che modo devo modificare il codice php delle mie pagine?

    Gli indirizzi che voglio riscrivere sono del tipo:
    http://www.lv4er.altervista.org/arti...?azione=noiche

    E trasformarli in:
    http://www.lv4er.altervista.org/noiche.html (la cartella la devo lasciare o posso ometterla?)

    Il codice che utilizzo è questo:

    Codice PHP:
    <?
    switch($_GET['azione']) {
    default:
    include(
    "noallekappa.txt");
    break;
    case
    'sondaggiogf':
    include(
    "sondaggiogf.txt");
    break;
    case
    'noallekappa':
    include(
    "noallekappa.txt");
    break;
    case
    'lafontana':
    include(
    "lafontana.txt");
    break;
    case
    'treno':
    include(
    "treno.txt");
    break;
    }
    ?>
    Grazie!

  2. #2
    L'avatar di bastardofuori
    bastardofuori non è connesso AlterGuru
    Data registrazione
    04-04-2006
    Messaggi
    1,535

    Predefinito

    Direi che sei proprio fuori strada con quel codice. Quello e' codice php :S

    Prova a dare un'occhiata alla guida proposta nel seguente link:

    http://www.smokinglinux.com/tutorials/a2enmod

  3. #3
    Guest

    Predefinito

    Ciao, infatti quello è il codice php associato ai link, non il codice da mettere nell'htaccess.
    L'ho postato perchè pensavo fosse utile per aiutarmi ;)
    Quello che non sono in grado di fare è scrivere il codice da mettere nell'htaccess, e se devo mettere un codice per ogni link.
    Ultima modifica di lv4er : 01-05-2008 alle ore 12.59.55

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Prova cosi
    Codice PHP:
    RewriteRule ([0-9]+)\.html$ index.php?azione=$1
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    Guest

    Predefinito

    Se un utente chiede pagina_richiesta e tu vuoi dargli pagina_inviata, nel .htaccess basta incollare:

    Codice PHP:
    RewriteEngine On
    RewriteRule pagina_richiesta
    $ pagina_inviata [QSA,L]
    NOTA: $ indica la fine della stringa.


    Altro esempio:
    Codice PHP:
    RewriteEngine On
    RewriteRule
    ^(.*).html$ index.php?file=$1 [QSA,L]
    Se un utente digita tuosito.com/prova.html, gli darai index.php?file=prova

    Adesso sta a te documentarti per capire la sintassi da utilizzare...

    Ciao

  6. #6
    Guest

    Predefinito

    Grazie a tutti!
    Allora ho trovato questo sito: http://www.mod-rewrite-wizard.com/ che ti crea il codice da mettere nell'htaccess automaticamente:

    The original URL: http://www.lv4er.altervista.org/arti...adifferenziata
    The rewritten URL: http://www.lv4er.altervista.org/racc...erenziata.html

    E il codice che mi dà è:

    Codice PHP:
    RewriteEngine On
    RewriteRule
    ^([^/]*)\.html$ /articoli/articolo.php?azione=$1 [L]
    Così facendo però l'url rimane uguale, non cambia.


    E se invece ci aggiungo anche QSA:

    Codice PHP:
    RewriteEngine On
    RewriteRule
    ^([^/]*)\.html$ /articoli/articolo.php?azione=$1 [QSA, L]
    Mi dà ERrore 500 - errore interno al server

    Ho provato anche così:

    Codice PHP:
    RewriteEngine On
    RewriteRule
    ^(.*).html$ /articoli/articolo.php?azione=$1 [L]
    Ma anche così l'url non viene riscritta
    Ultima modifica di lv4er : 01-05-2008 alle ore 13.48.37 Motivo: Aggiunto testo di una ulteriore prova

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Prova cosi:
    Codice PHP:
    RewriteBase /
    RewriteEngine On
    RewriteRule
    ^([^/]*).html$ /articoli/articolo.php?azione=$1 [L]
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    Guest

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Prova cosi:
    Codice PHP:
    RewriteBase /
    RewriteEngine On
    RewriteRule
    ^([^/]*).html$ /articoli/articolo.php?azione=$1 [L]
    Non funziona: l'url non viene riscritta.

    Mi sorge un dubbio: il mio link che è del tipo:

    Codice:
    <a href="/articoli/articolo.php?azione=raccoltadifferenziata">testo</a>
    Lo devo modificare?

  9. #9
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Prova no? Quello se tu visiti index.php?cat=1 mica redirige a /cat1.html, il codice permette di raggiungere quella pagina sia come index.php?cat=1 che come /cat1.html.
    Apprezzi l'aiuto? Offrimi un caffè!

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Prova no? Quello se tu visiti index.php?cat=1 mica redirige a /cat1.html, il codice permette di raggiungere quella pagina sia come index.php?cat=1 che come /cat1.html.
    Credo di non aver ben capito cosa devo fare, puoi spiegare meglio?

  11. #11
    Guest

    Predefinito

    Allora ho modificato il link da:

    Codice:
    <a href="/articoli/articolo.php?azione=raccoltadifferenziata">testo</a>
    a:

    Codice:
    <a href="raccoltadifferenziata.html">testo</a>
    e così funziona!!!
    Grazie Miki!

    Non capisco però perchè nell'ltro modo non funzioni..

  12. #12
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Probabilmente sarà qualche restrinzione di sicurezza che AlterVista blocca sui file .htaccess
    Apprezzi l'aiuto? Offrimi un caffè!

  13. #13
    Guest

    Predefinito

    In questo modo però mi devo creare due file index.php, uno per il locale e uno per altervista, a meno che non attivi htaccess anche in locale..
    Però credo che la prima soluzione mi sia più comoda ;)

    Grazie ancora

  14. #14
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Scusa perchè devi crearti due file index?
    In locale, se hai attivo Apache, .htaccess è attivo di default ma di solito su Windows Sembra che alcune direttive non funzionino.
    Apprezzi l'aiuto? Offrimi un caffè!

  15. #15
    Guest

    Predefinito

    Perchè se faccio i link del tipo:

    <a href="raccoltadifferenziata.html">testo</a>

    in locale sul mio pc non funziona!

  16. #16
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Beh certo, se non hai il giusto file .htaccess come in remoto oppure la pagina chiamata in quel modo sicuramente riceverai un errore 404.
    Apprezzi l'aiuto? Offrimi un caffè!

  17. #17
    Guest

    Predefinito

    Appunto, era quello che avevo detto! per questo mi sono creata due file index, uno da uploadare su altervista, e uno di test in locale ;)

  18. #18
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    ragazzi scusate l'intromissione, di htaccess non ne so ancora molto...
    Solo una domanda (per evitare di aprire un altro topic):
    Ad una directory devo negare l'access tranne ad un file in esso contenuta, questo va bene?
    Codice:
    # Prevent Direct Access to Program Files
    <Files *>
    Order Deny,Allow
    Deny from all
    Allow from localhost
    </Files>
    
    # Allow Access ad uno specifico file
    <Files nomefile.php>
    Order Allow,Deny
    Allow from all
    </Files>

  19. #19
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Questa dovrebbe essere la giusta sintassi:
    Codice PHP:
    <Files nomefile.php>
    Order Allow,Deny
    Allow from all
    </Files>
    Apprezzi l'aiuto? Offrimi un caffè!

  20. #20
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Questa dovrebbe essere la giusta sintassi:
    Codice PHP:
    <Files nomefile.php>
    Order Allow,Deny
    Allow from all
    </Files>
    Ok ma è uguale alla mia...
    Intendi che per negare accesso a tutti i file tranne che a quello specifico basta inserire solo quella direttiva?

  21. #21
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    No aspetta avevo capito male, credevo che volessi negare l'accesso ad un solo file. Devo trovare un link che genera ciò che tu chiedi e te lo posto.
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •