Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di checker
    Registrato dal
    Nov 2003
    Messaggi
    129

    Riscrivere le URL via .htaccess

    Ciao amici, apro questo post perchè pur avendo fatto ricerche non ho trovato la risposta...
    Il problema è molto frequente: Riscrivere le URLs con Apache e mod rewrite via .htaccess.

    Cambiare
    www.dominio.it/file.php?id=5
    in
    www.dominio.it/file/id/5.htm

    Ho creato un file .htaccess e lo ho caricato nella stessa directory dove si trova il file, questo è il codice...

    RewriteEngine On
    RewriteRule ^file/([^/]+).htm file.php?id=$1 [L]


    Purtroppo non funziona, ma cosa sbaglio?

  2. #2
    Moderatore di Motori di ricerca e webmarketing L'avatar di rigby76
    Registrato dal
    Oct 2005
    residenza
    Firenze
    Messaggi
    4,913
    a occhio direi che la tua espressione riconosce url del tipo /file/5.htm
    starebbe a dire: riconosci url che iniziano con file/ poi un qualcosa senza barre, infine punto htm: quel qualcosa poi lo passi a id, quindi deve essere il 5 solamente.
    prova...

    in generale ti dico che se lasci solo l'id numerico, la riscrittura degli url serve, ma a poco...
    faresti meglio a fare degli url tipo /file/5-tema-della-pagina.html poi nel php fai un explode della stringa separando le parti divise da - e consideri solo la prima... così ottieni delle url "parlanti".


  3. #3
    Utente di HTML.it L'avatar di checker
    Registrato dal
    Nov 2003
    Messaggi
    129
    in generale ti dico che se lasci solo l'id numerico, la riscrittura degli url serve, ma a poco...
    faresti meglio a fare degli url tipo /file/5-tema-della-pagina.html poi nel php fai un explode della stringa separando le parti divise da - e consideri solo la prima... così ottieni delle url "parlanti".
    Grazie della risposta, potresti fare un esempio pratico per ottenere ciò?

    ...e poi perchè non funziona neanche la versione base con il link numerico?

  4. #4
    Moderatore di Motori di ricerca e webmarketing L'avatar di rigby76
    Registrato dal
    Oct 2005
    residenza
    Firenze
    Messaggi
    4,913
    1. prova ad aggiungere lo slash prima alla seconda url, così:
    RewriteRule ^file/([^/]+).htm /file.php?id=$1

    2. per fare la url parlante, usi gli indirizzi che ti ho scritto, più la stessa regola di riscrittura: così facendo passerai a id "5-tema-della-pagina" invece che solo "5".

    fatto questo, devi recuperare 5 dalla stringa. lo puoi fare così:

    Codice PHP:
    list($id) = explode("-",$_GET['id']); 
    nella variabile $id ti ritrovi l'id della pagina.

    per la spiegazione delle funzioni:
    http://it2.php.net/manual/it/function.list.php
    http://it2.php.net/manual/it/function.explode.php


  5. #5
    Utente di HTML.it L'avatar di checker
    Registrato dal
    Nov 2003
    Messaggi
    129
    Grazie infinite, provo non appena ho un pò di tempo, oggi ormai è andata!


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.