• User Attivo

    Penso sia una problema di COND...

    Ciao a tutti. 🙂

    Questo è quello che ho scritto:

    RewriteEngine on
    RewriteBase /
    RewriteRule ^immagini/(.*)$ immagini/$1 [L,QSA,NC]
    RewriteRule ^([^/]+)/([^/]+).html pagina.php?argomento=$1&nome=$2
    RewriteRule ^([^/]+)/ pagina.php?argomento=$1

    Va tutto bene solo che mi riscrive anche url del tipo "/nome/nomequalsiasi" mostrandomi la pagina "pagina.php?argomento=nome" e chiaramente non mostra le immagini dentro le cartelle in quanto riscrive anche quelle da "/nome/nomefile.jpg" a " pagina.php?argomento=nome"
    Le prima rule l'avevo messa perchè restassero invariate le url di quelle cartelle... non so se esistono metodi più semplici per farlo.. 😛

    Inoltre avrei necessità di riscrivere url prive di cartella, del tipo /nomefile.html sempre partendo dall'url con la variabile pagina.php?variabile=XXX

    Ciao e grazie a tutti! :ciauz:
    Rammo.


  • User Attivo

    Ok una cosa penso di averla risolta...
    l'ultima Rule la ometterei e costruirei i link in questo modo:

    pagina.php?argomento=ciccio&nome=caio
    pagina.php?argomento=ciccio&nome=

    Così facendo nel secondo caso mi restituisce pagina.php?argomento=ciccio e nel primo caso se non trova il valore "ciccio" nel db mi restuisce l'errore (404)

    Ok, ora restano gli altri problemini... 😛


  • User Attivo

    No invece non risolvo niente perchè le richieste saranno del tipo
    www.sito.tld/nomecartella/

    Quindi niente.. non ho risolto neanche questo.. 🙂


  • Super User

    per il primo problema chiudi la regola con $
    (^ -> start of string; $ -> end of string)

    dopo dovrebbe funzionare

    /nome/nomefile.jpg è normale che venga mandato alla pagina php
    /immagini/nomefile.jpg invece dovrebbe funzionare

    giusto?


  • User Attivo

    Ciao,
    sembra che ora funzioni tutto!

    Per esempio.. adesso visualizza anche le immagini dentro le varie cartelle e non restituisce più pagina.php?argomento=nome. Se provo a richiedere la pagina /nome/pakpsokpaok mi restituisce un 404 e non la pagina pagina.php?argomento=nome come invece faceva prima. Addirittura anche omettendo la regola

    RewriteRule ^immagini/(.*)$ immagini/$1 [L,QSA,NC]

    le immagini dentro questa cartella si visualizzano tutte.
    Ottimo direi! 🙂
    Può essere pericoloso un rewrite fatto così? E' meglio che inserisca qualche RewriteCond per filtrare al massimo le richieste?

    Ora rimane da risolvere il come riscrivere le pagine nella root, del tipo /nomepagine.html sempre passando dalla pagina.php?variabile=XXX
    E' proprio necessario che utilizzi un'altra variabile da specificare poi in un'altra Rule del Rewrite?


  • Super User

    la tua regola è:
    RewriteRule ^([^/]+)/ pagina.php?argomento=$1

    ma riconosce /nomepagine/, non /nomepagine.html 😉

    RewriteRule ^([^/]+).html**$** pagina.php?argomento=$1

    ciao 😉


  • User Attivo

    Ah già.. giusto! 😄
    Dici quindi che non comporti problemi di sicurezza questo tipo di Rewrite?