Visualizzazione risultati 1 fino 7 di 7

Discussione: espressioni regolari su apache per il rewrite

  1. #1
    Guest

    Predefinito espressioni regolari su apache per il rewrite

    vorrei trasformare gli URL dinami del mio sito in statici, in questo modo:

    in

    Quindi ho messo nel file htaccess questa direttiva:

    Codice:
    RewriteEngine on
    RewriteRule ^/(.*)-(.*).html$ /index.php?q=$1+$2
    ma non mi funziona!

    dopo aver capito questo vorrei capire come fare se il numero di parole non sia certo.

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Devi usare anche la direttiva RewriteBase.

  3. #3
    Guest

    Predefinito

    ho messo

    Codice:
    RewriteEngine on
    RewriteBase / 
    RewriteRule ^/(.*)-(.*).html$ /index.php?q=$1+$2
    ma non funziona lo stesso :(

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Aggiungere il RewriteBase è inutile, prova così:
    Codice:
    RewriteEngine On
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Aggiungere il RewriteBase è inutile, prova così:
    Codice:
    RewriteEngine On
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2
    perfetto!!!
    Grazie mille andrea!

  6. #6
    Guest

    Predefinito

    ma se non so il numero delle parole, come posso fare?
    esempio, numero parole 4

    Codice:
    RewriteEngine On
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2+$3+$4
    ma così non funziona solo per due parole...

    vorrei una direttiva che valga per almeno 5 o 6 parole

  7. #7
    Guest

    Predefinito

    bah... hodisposto così:

    Codice:
    RewriteEngine On
    RewriteRule ^([a-z0-9]+)\.html$ /index.php?q=$1
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2+$3
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2+$3+$4
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2+$3+$4+$5
    RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\-([a-z0-9]+)\.html$ /index.php?q=$1+$2+$3+$4+$5+$6
    funziona anche se non è elegante da vedere

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •