Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Psyko83
    Registrato dal
    Mar 2006
    Messaggi
    424

    .htaccess e valori opzionali

    Salve a tutti, ho un problema con i valori opzionali di .htaccess; cioè creai tempo fa questa regola che funziona perfettamente, ma ora che ho cominciato a creare la paginazione, è sorto il problema, ovvero:
    Avendo la seguente regola
    RewriteRule ^([A-Za-z0-9-]+)\/([A-Za-z0-9-]+)(?:\/([A-Za-z0-9-]+))?(?:\/([A-Za-z0-9-]+))?(?:\/([0-9-]+))?$ /search.php?ln=$1&re=$2&pr=$3&co=$4&p=$5 [L]

    Ho impostato il numero della pagina per la paginazione come 5° valore.
    Ora se mi vengono a mancare il 3° e 4° valore (essendo opzionali...) il 5° valore che mi indica la paginazione, non lo avrò più li, ma sarà diventato il 3° o il 4°.
    Come posso risolvere questo problema?

    Grazie a tutti anticipatamente.

    PS: spero di essere stato chiaro, e di aver postato nella sezione corretta.

  2. #2
    Ti posto un .htaccess che feci tempo fa, per risolvere un problema simile al tuo. Semplicemente devi aggiungere anche le regole che gestiscono gli url con meno di 5 parametri:
    codice:
    RewriteRule ^([^/]+)/([^/]+)/$ articoli.php?cat=$1&subcat=$2
    RewriteRule ^([^/]+)/([^/]+)\.html$ articoli.php?a=$2&cat=$1
    RewriteRule ^([^/]+)/([^/]+)/([^/]+)\.html$ articoli.php?a=$3&cat=$1&subcat=$2 [L]
    Nel mio caso se ho un url del tipo dominio.it/cat/subcat applica la regola 1, e se nn la riconosce passa alla seconda (questo perché nn è specificato [L]). Nella seconda controlla che l'url matchi dominio.it/cat/articolo.html, e se nn è così passa all'ultima che ha 3 parametri.
    Spero ti possa essere utile.

  3. #3
    Utente di HTML.it L'avatar di Psyko83
    Registrato dal
    Mar 2006
    Messaggi
    424
    Si grazie!
    Mi è stato utilissimo.

  4. #4
    il mio caso è simile io vorrei che nel caso di un'indirizzo

    www.dominio.it/categoria mi mandi ad una pagina primo.php?root=categoria
    www.dominio.it/categoria/titolo della pagina mi mandi ad una pagina primo.php?root =categoria&id=titolo

    Codice PHP:
    RewriteEngine On
    RewriteRule 
    ^([^/]+)/$ primo.php?root=$1
    RewriteRule 
    ^([^/]+)/([^/]+)/$ secondo.php?root=$1&id=$2[L
    Ma non va.
    °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
    Una terza abbondante (.)(.) non
    è mai una quarta! ( o )( o )
    °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

  5. #5
    Prova con:
    Codice PHP:
    RewriteEngine On 
    RewriteRule 
    ^([a-zA-Z0-9_-]+)/$ primo.php?root=$
    RewriteRule 
    ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ secondo.php?root=$1&id=$2[L

    Oppure:
    Codice PHP:
    RewriteEngine On 
    RewriteRule 
    ^([a-zA-Z0-9_-]+)\.htmlprimo.php?root=$
    RewriteRule 
    ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)\.htmlsecondo.php?root=$1&id=$2[L
    In questo secondo caso però, bisogna che modifichi la richiesta in: .../categoria.html e .../categoria/titolo.html

  6. #6

  7. #7
    La prima funziona alla grande ma ora che ho visto la seconda penso che possa essere ancora più utile.

    Grazie milla del supporto.
    °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
    Una terza abbondante (.)(.) non
    è mai una quarta! ( o )( o )
    °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

  8. #8
    Originariamente inviato da ebarat.com
    Dimenticao: prima di .html devi inserire un backslash
    Cosi?
    Codice PHP:
    RewriteEngine On
    RewriteRule 
    ^([a-zA-Z0-9_-]+)/.htmlprimo.php?root=$1
    RewriteRule 
    ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/.htmlsecondo.php?root=$1&id=$2[L
    °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
    Una terza abbondante (.)(.) non
    è mai una quarta! ( o )( o )
    °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

  9. #9
    No, così:
    Codice PHP:
    RewriteRule ^([a-zA-Z0-9_-]+)\.htmlprimo.php?root=$
    RewriteRule 
    ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)\.htmlsecondo.php?root=$1&id=$2[L

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.