• User Newbie

    Alcuni dubbi si Rewrite, con masterpage

    Ciao, dopo aver letto varie guide ho ancora qualche piccolo dubbio. Qui di seguito espongo i miei dubbi vorrei che se possibile aver risposta per ogni dubbio 🙂

    DUBBIO 1 :

    Ho visto in tutte le guide che le regole vengo scritte cosi per esempio:

    [PHP]RewriteRule ^([0-9A-Za-z-_]+)/([0-9A-Za-z-]+)/$ ricerca.php?page=$1 [L,NC]
    [/PHP]

    1 .Noto che la parte di DX viene sempre indicata la pagina (in questo caso php), mi chiedevo non esiste un regola generale che va bene per tutti le pagine del sito?
    2. Ha senso che ci sia una regola generale per tutto il sito e in caso negativo per quale motivo non ha senso?
    3. Se ho un sito mettiamo con diverse sezioni HOME-CONTATTI-MAPPA-NEWS ecc.. devo creare delle RewriteRule per ogni pagina?

    DUBBIO 2:

    Mettiamo che il mio sito web sia composto dalla pagina Index.php che è la masterpage del sito, all'interno della pagina viene inclusa la pagina che vogliamo visualizzare esempio:

    [PHP]
    <?php $page_content = "page/".$_GET["page"].".php"; ?>
    <title> SITO TEST </title><body><header>
    <?php include('header.php');?></header>
    <?php if(isset($page_content)) include($page_content);?>
    <footer><?php include('footer.php');?></footer>
    </body></html>[/PHP]

    Mettiamo che ho HOME,CONTATTI,EMAIL come pagine ,
    CASO 1:

    io scrivo cosi nel URL : miosito/HOME/
    Lui recupera la pagina home.php e me la mostra all'interno della index.

    Il Rewrite è scritto cosi: [PHP]RewriteRule ^([0-9A-Za-z-_]+)/$ index.php?page=$1 [L,NC][/PHP]

    CASO 2:

    Mettiamo ora che Contatti gli passo il cap da recuperare, la pagina sarebbe URL : miosito/CONTATTI/37025
    Nel modulo Rewrite ho le due seguenti righe
    [PHP]
    RewriteRule ^([0-9A-Za-z-]+)/$ index.php?page=$1 [L,NC]
    RewriteRule ^([0-9A-Za-z-
    ]+)/([0-9A-Za-z-]+)/$ index.php?page=$1&cap=$2 [L,NC][/PHP]

    La pagina contatti mi recupera il valore del cap.

    CASO 3.

    Mettiamo ora che chiamo la pagina EMAIL gli passo l'indirizzo email da recuperare, la pagina sarebbe URL:miosito/EMAIL/[email protected]
    Nel modulo Rewrite ho le due seguenti righe
    [PHP]
    RewriteRule ^([0-9A-Za-z-]+)/$ index.php?page=$1 [L,NC]
    RewriteRule ^([0-9A-Za-z-
    ]+)/([0-9A-Za-z-]+)/$ index.php?page=$1&cap=$2 [L,NC]
    RewriteRule ^([0-9A-Za-z-_]+)/([0-9A-Za-z-]+)/$ index.php?page=$1&email=$2 [L,NC][/PHP]

    Facendo cosi però lui si ferma alla prima valida per cui non mi recupera email ma cap.

    DUBBIO:

    Avendo una master page come posso gestire un caso cosi?
    Devo utilizzare i RewriteCond dove indico che queste regole sono valide solo per una determinata pagina?

    Spero di essere stato chiaro
    Grazie a tutti per il vostro aiuto.


  • User Newbie

    Ciao a tutti, ho cercato in lungo e in largo ma da quello che capisco se uso un sistema "masterpage" in php il Rewirte non funziona.
    Anche se creo un struttura controller,action in php non andrebbe bene, perchè simulerebbe quello che fa rewrite ma non fa esattamente quello che vorrei.

    Perchè non riesco a chiamare gli url cosi miosito/ricerca/verona/nuove/

    Che in pratica sarebbe miosito.it/richerca.php?citta=verona&tipologia=nuove

    Perchè passando solo dalla index.php (la mia pagina master) il rewrite non funziona, perchè non sa quale regola prendere, come scritto nel post precedente.