Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    mod_rewrite in tutte le pagine

    Ragazzi come posso applicare il modulo mod_rewrite in tutte le pagine del mio sito?
    perchè fin'ora lo applicavo solo ad una pagina, adesso ho la necessita di applicarlo a tutte:

    cioe:
    www.sito.com/guida.php?id_guida=12
    diventa
    www.sito.com/guida/titolo-guida.html

    www.sito.com/articolo.php?id_articolo=15
    diventa
    www.sito.com/articolo/titolo-articolo.html

    www.sito.com/news.php?id_news=159
    diventa
    www.sito.com/leggi-news/titolo-news.html

    come posso farlo? devo avere più file .htaccess o ne basta uno che gestisce il tutto?

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Ne basta solo uno poichè quello nella cartella principale condiziona pure le sottocartelle.
    Solo che viene più complicato che dall'id ottieni quello che ti serve.
    Io farei qualcosa del genere

    www.sito.com/guida/23-titolo-guida.html
    diventa
    www.sito.com/guida.php?id=23

    www.sito.com/news/23-titolo-news.html
    diventa
    www.sito.com/news.php?id=23

    codice:
    RewriteEngine On
    RewriteRule ^(guida|articolo|news)/([0-9]+)-([^\.]*)\.html$ /$1.php?id=$2 [L]
    Tanto per complicarci la vita

    Quindi il campo fondamentale non sarà "23-titolo-news" ma "23-" quindi
    www.sito.com/guida/23-come-usare.htacces.html
    http://www.sito.com/guida/23-come-si...-le-regex.html
    Punteranno entrambi a
    www.sito.com/guida.php?id=23

    Se vuoi fare in modo che diventi fondamentale il nome della guida, news o quello che sia puoi cambiare il mio codice in:

    codice:
    RewriteEngine On
    RewriteRule ^(guida|articolo|news)/([0-9]+)-([^\.]*)\.html$ /$1.php?id=$2&name=$3 [L]
    In modo che il _GET ora abbia sia un id che un nome.


  4. #4
    grazie per la risposta, ma il link come lo devo far diventare?

  5. #5
    nessun aiuto?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Il link deve semplicemente essere

    http://www.sito.com/guida/23-come-si...-le-regex.html

    Poi sarà il motore di apache a farlo diventare

    http://www.sito.com/guida.php?id=23&...ivono-le-regex

    Per farlo diventare non intendo che sulla barra del browser comparirà "www.sito.com/guida.php?id=23&name=come-si-scrivono-le-regex", ma intendo che verrà eseguito lo script "guida.php".


  7. #7
    scusa io il link c'è l'ho cosi per ora:
    Codice PHP:
    [url="guida.php?id_guida=<? echo $array['id_guida'?>"]<? echo $array['nome_guida'?>[/url]

  8. #8
    Originariamente inviato da Jigulina
    scusa io il link c'è l'ho cosi per ora:
    Codice PHP:
    [url="guida.php?id_guida=<? echo $array['id_guida'?>"]<? echo $array['nome_guida'?>[/url]
    questi ovviamente li devi cambiare tutti
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    eh si l'avevo capito, ma non ho capito in cosa però.. cioè come li deve trasformare?

  10. #10
    Originariamente inviato da Jigulina
    eh si l'avevo capito, ma non ho capito in cosa però.. cioè come li deve trasformare?



    e che ne sappiamo noi, devi prima scegliere come vuoi la url, abilitare l'url rewrite e poi cambiare questi link in base alla url... ad esempio, se tu vuoi la url finale come

    codice:
     h t t p://w w w.tuosito .ext/guida/ID/TITOLO
    cambierai la url in

    Codice PHP:
    a href="/guida/<? echo $array['id_guida'?>/<?php echo urlencode($array['nome_guida']); ?>"><?php echo $array['nome_guida']; ?></a>
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.