• User Attivo

    modrewrite e get

    Salve avendo una regola del genere

    RewriteRule ^([a-z_-]+)/tipopagina/$ $1.php?sezione=$1&tipo=tipopagina

    e la pagina che riceve è pagina.php che è nella posizione root è normale che se io passo una variabile via get non viene considerata? 😢

    Del tipo

    url: pagine.php/tipopagina/?variabiale=ciao

    "variabile" non viene passata via get

    Non posso fare mille regole via mod rewrite


  • User

    il problema è dovuto al fatto che non hai messo QSA (Query String Append)

    dovresti fare una cosa di questo tipo:

    
    RewriteRule ^([a-z_-]+)/tipopagina/$ $1.php?sezione=$1&tipo=tipopagina [L,QSA]
    
    

    L fa in modo che se la condizione viene verificata, non ci sia bisogno di continuare co le altre condizioni

    alcune piccole domande:

    1. come mai usi: [a-z_-]
      quello ti esclude eventuali maiuscole...
      non ti converrebbe utilizzare: [A-Za-z0-9-]

    2. tipopagina non ti converrebbe metterlo come variabile? magari mettendo delle opzioni
      cioè...se tu scrivi (pagina1|pagina2)
      la query accetterà solamente pagina1 o pagina2

    3. infine...non ti converebbe fare il rewrite al 100%?
      così?

    
    RewriteRule ^( [A-Za-z0-9-]+)/(pagina1|pagina2)/variabile/$ $1.php?sezione=$1&tipo=$2&variabile=$3 
    RewriteRule ^( [A-Za-z0-9-]+)/(pagina1|pagina2)/$ $1.php?sezione=$1&tipo=$2 
    
    

    ciao!