• User Attivo

    Rewrite su più directory

    Ciao a tutti,
    avrei bisogno di inserire più file ".htaccess" in alcune directory.
    Vi spiego meglio:

    • nella root del sito vorrei inserire un ".htaccess" con le regole "generali" per il rewrite dell'url di tutte le pagine;
    • in ogni modulo (che in fin dei conti corrisponde ad una directory) del CMS che sto sviluppando, vorrei invece inserire un ".htaccess" con le regole valide solo per il modulo in questione.

    Quando accedo ad un modulo, una volta creata la struttura sopra descritta, per il rewrite verrà tenuto conto solo delle regole presenti nel file ".htaccess" del modulo, o anche di quelle presenti nel file generale?
    Se non tiene conto di entrambi i file con le regole, esiste un modo per creare una struttura del genere?

    Sperando che qualcuno chiarisca i miei dubbi,
    vi ringrazio in anticipo!!


  • User Attivo

    Ciao,

    Il rewrite tiene conto del file .htaccess su che cms lo stai applicando?


  • User Attivo

    Il rewrite tiene conto del file .htaccessOk, quindi tu mi dici che tiene conto di entrambi gli .htaccess, esatto? E quale considera per primo? Quello generale (nella root del sito) o quello nella cartella del modulo?
    su che cms lo stai applicando?Su un CMS tutto mio, che ho sviluppando partendo da 0! 😄


  • User Attivo

    Ma tu devi impostare un riferimento..


  • User Attivo

    Cosa intendi con "devi impostare un riferimento"? Devo darti il link del mio sito per farti capire di quale CMS sto parlando?!
    Allora, aggiungo ulteriori dettagli.. La situazione è la seguente:

    --- / ---
        index.php
        .htaccess
        --- /modulo1/ ---
            .htaccess
            index_modulo1.php
        --- /modulo2/ ---
            .htaccess
            index_modulo2.php
    ```Nel file .htaccess principale vorrei inserire le regole generiche, adatte a tutti i moduli (ad es. rinominare i file .php in .htm, aggiungere l'etichetta di lingua, ecc..).
    
    Nei file .htaccess dei moduli vorrei invece aggiungere alcune regole proprie del modulo (ad es. per il modulo "blog" vorrei effettuare il rewrite da un url di tipo xxx.it/articolo-rewrite-120/ a un url di tipo xxx.it?id=120, per il modulo "calendario" vorrei effettuare il rewrite da xxx.it/2008/02/10 a xxx.it?gg=10&mm=02&yy=2008).
    
    Chiaro? C'è qualcuno che sa darmi una mano?
    E' forse meglio creare un .htaccess grande in cui inserire tutte le regole?

  • Super User

    ciao loryzz, uso il tuo stesso metodo di sviluppo (un htaccess nella root e poi altri nelle varie sezioni, un qualcosa tipo la derivazione delle classi nella OOP)

    non ne sono sicuro, ma a logica viene prima effettuato il parsing sul file nella root, poi su quelli via via più interni


  • User Attivo

    Grande Osvi, grazie della risposta! 🙂
    Avendo qualche problema nell'applicazione di questo metodo, pensavo che magari non fosse realizzabile.
    Allora continuo fiducioso la ricerca dell'errore!

    Un'ultima domanda: ma se metto il flag dopo una RewriteRule, il file in questione smette immediatamente di essere processato, ma le regole nel file successivo (se l'ordine è quello che dici tu, il file successivo sarà l'.htaccess più interno) vengono considerate oppure no?


  • Super User

    il metodo più veloce per saperlo con certezza è fare un po' di prove

    comunque quasi sicuramente il Last interrompe tutto, una volta che è stato trovato l'indirizzo giusto (es. in /.htaccess) a che servirebbe processare /subdir/.htaccess?


  • User Attivo

    Hai ragione, scusa per la domanda banale, non sarebbe necessario continuare a processare gli altri files.
    Ti ringrazio per avermi chiarito i dubbi e alla prossima!

    :yuppi: