• User

    .htaccess: Mod_rewrite e sottodirectory (con 2 script diversi)

    Salve,
    ho letto con molto piacere la guida sul mod_rewrite e me ne congratulo sin da ora con gli editori.

    Un punto però non mi è chiaro, e non riesco a capire se mi è scappato qualcosa oppure non avete incluso questo piccolo particolare:

    Supponiamo io abbia un sito con uno script da rewritare tramite .htaccess, nella /root principale, ed uno script montato in un'altra sottodirectory (per esempio /root/script 2/)...come faccio ad evitare che il mod_rewrite applicato tramite l'.htaccess della root principale, incida anche nello script che si trova nella sottodirectory.

    Per intenderci meglio...Io mi ritrovo:

    1. miosito.com (con uno script, un htaccess, e le sue regole)
    2. miosito.com/script_2/ (con uno script, un htaccess, e le sue regole)

    Come sappiamo tutti l'htaccess della root (in questo caso chiamiamola categoria padre) distribuisce le proprie regole a tutte le directory e sottodirectory, e dunque dovrebbe esistere un sistema per evitare questo avvenimento.

    Ho provato con i rewritebase, ma leggendo qualche guida mi sono accorto che tutte riportano la stessa cosa: per evitare che una sottodirectory venga "colpita" dall'.htaccess che si trova nella root principale, bisogna modificare qualcosa nell'.htaccess della sottodirectory....si, ma cosa?

    Come si fa a rendere indipendente uno script che si trova in una cartella? :arrabbiato:

    Vi ringrazio sin da ora per i vostri consigli!
    Una buona serata

    Giuseppe


  • Super User

    due scelte:

    • RewriteCond -f !^script2$ se il file richiesto non è script2
    • eliminare il caso script2 dalla regola
    
    RewriteRule ^script2/*$ script2/$1 
    RewriteRule ^*$ parser.php?url=$1 
    
    

    ciao
    F 😉