Newsgroup: it.lavoro.professioni.webmaster
Titolo: mod_rewrite dall'inizio

Buonasera a tutti,
    sto iniziando il mio viaggio attraverso i mod_rewrite il problema che ho 
e' il seguente:
riesco a trasformare pippo-24.html in pippo.php?test=24
Il problema e' che test=24 viene generato da tramite un form che passa i 
parametri tramite GET.
Il problema e' il seguente:
come faccio a riscrivere gli indirizzi in modo tale che vengano generati 
degli indirizzi come
pippo-24.html
Da quel che ho capito i mod_rewrite interpretano la .htm in modo tale che 
ridiventi una php ma come faccio a creare la pagina statica?
Ho visto in un cms qualunque e basta attivare una funzione senza che sia 
creato il .htaccess...come posso fare per risolvere questo arcano?
Grazie per gli eventuali aiuti e/o suggerimenti in merito,
Leonardo 

Dai un'occhiata a questa pagina e credo ti sara' tutto un po' piu'
chiaro:
http://www.mirkosoft.org/tutorial/tutorial_apache/tutorial_su_mod_rewrite.html
Cmq basta fare una ricerca con google, credo anche all'interno dei
gruppi di google.
Bye,
Giuseppe

 ha scritto nel messaggio 
news:1145026732.5...@v46g2000cwv.googlegroups.com...


Scusa se rispondo solo adesso, ma ho avuto qualche impegno...
Nel link che ti ho mandato viene riportato l'esempio che calza a
pennello col tuo problema, ora se tu vuoi converto  io l'esempio in
modo che rispecchi il tuo problema, ma potresti farlo anche tu.
Bye,
Giuseppe

Non preoccuparti tanto di cose di cui scervellarmi ne ho diverse :D Ho 
riletto attentamente il link che mi hai postato ma continuo a non capire 
questo arcano...
Ti spiego in pratica cosa accade:
Ho uno script php che genera una pagina con link del tipo:
{indirizzo}/dettaglio.php?pippo=pluto
Da quel che ho capito (da quello e altri tute) tramite l'uso del mod_rewrite 
posso fare in modo che digitando dettaglio--pluto.htm venga interpretata 
come la pagina php di cui sopra, ma non riesco a capire come fare a creare 
la pagina htm al volo.
Ad esempio in alcuni cms (mambo, maxdev, etc. etc.) c'e' un modulo apposito 
che, a quel che ho capito, tramite l'uso delle reg exp fa in modo che le url 
vengano riscritte al volo, ma cio' avviene SENZA l'uso dell'htaccess...come 
se fosse una cosa talmente semplice che pure un bambino saprebbe fare, ma 
non io, ovviamente!
I quesiti che mi pongo sono:
- Come funziona questo modulo?
- Posso crearne uno ad hoc per un sito gia' esistente che ha tutte pagine 
php con parametri o devo riscrivere tutte le url generate dal sorgente (cosa 
da paura se fosse cosi'!)
Grazie ancora per l'aiuto,
Leonardo


I cms sono programmati per mascherare all'utente finale l'utilizzo di
queste funzioni, e' impossibile fare quello che vorresti tu senza
l'htaccess, quindi se sei su un server windows te lo puoi dimenticare.

Il discorso non e' relativo all'htaccess ma a monte, prima ancora di usare 
l'htaccess che fa il mod_rewrite. Ho comunque finalmente trovato la 
risposta:
Non si puo' fare cosi' come pensavo! );
Il primo passo da fare e':
 Change all URLs in links on all pages to a static form. This is usually 
done by modifying the database or by changing the script that generates 
those pages. PHP's preg_replace function often comes in handy for this.
Fonte:
http://www.webmasterworld.com/forum92/6079.htm
Grazie comunque per i vari tentativi di aiuto in merito.
Leonardo


 ma pippo-24.htm ?
Non puoi farlo a livello di mod_rewrite perchè mod_rewrite lavora
sull'url della pagina richiesta, e non sul suo contenuto.
Mi viene in mente di bufferizzare la risposta generata da pippo.php e
sostituire tutti i pippo.php?pippo=24 in pippo-24.html, ovvero:
-----------------------------------------------------------------------------------------------------
<?php
function callback($buffer)
{
  // replace all the apples with oranges
  return (str_replace("pippo.php?pippo=24", "pippo-24.htm", $buffer));
}
ob_start("callback");
?>
<html>
<body>
<p><a href="pippo.php?pippo=24">prova</a></p>
</body>
</html>
<?php
ob_end_flush();
?>
Preso da 
http://it.php.net/ob_start
.
Ciao,
    Fabrizio
=== 
http://www.negusweb.it
 ===