Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22

    [.htaccess] RewriteRule aggiunge automaticamente query string

    Ho un problema con la seguente RewriteRule:
    codice:
    RewriteRule ^([a-z][a-z])/?$ index.php?lang=$1
    L'ho scritta per richiamare miosito.it/index.php?lang=it quando l'utente richiede miosito.it/it oppure miosito.it/it/.

    Ebbene, il tutto funziona alla perfezione se scrivo l'indirizzo con lo slash alla fine... ma se invece scrivo miosito.it/it, il server fa un redirect a miosito.it/it/?lang=it.

    Qualcuno mi saprebbe spiegare il perché di questo strano comportamento?

    Cosa potrei fare per risolvere o aggirare il problema?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22
    Scusate il piccolo up, ma non sono ancora riuscito a risolvere...

  3. #3
    Beh fai un altro Rewrite Rule oltre quello li attuale senza lo slash finale

    Codice PHP:
    RewriteRule ^([a-z][a-z])?$ index.php?lang=$

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22
    Originariamente inviato da Dario Alise
    Beh fai un altro Rewrite Rule oltre quello li attuale senza lo slash finale

    Codice PHP:
    RewriteRule ^([a-z][a-z])?$ index.php?lang=$
    Non funziona... inizio a pensare di non aver compreso fino in fondo la sintassi delle espressioni regolari..

    Mi aspetto che:
    codice:
    RewriteRule ^([a-z][a-z])/?$ index.php?lang=$1
    Significhi:
    ^: inizio match;
    ([a-z][a-z]): se l'utente digita due caratteri minuscoli, allora c'è corrispondenza;
    /?: ci possono essere uno oppure zero slash;
    $: fine corrispondenza;
    index.php?lang=$1: restituisci una pagina siffatta (sostituendo al posto di $1 la corrispondenza trovata).




    Dove ci appizzica quella query string? Non capisco proprio il perché di questo comportamento!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    22
    Altro uppino ma proprio non capisco...

    Ho notato che il problema si presenta solo nel caso in cui la directory $1 esista fisicamente.

    Se scrivo miosito.it/qualsiasicosa oppure miosito.it/qualsiasicosa/ e tale directory non esiste, allora il comportamento che ottengo è proprio quello che mi aspetto.

    Ma se invece la directory specificata esiste, allora nel primo caso l'url viene automaticamente riscritto nella forma miosito.it/qualsiasicosa/?lang=qualsiasicosa.


    Ho provato anche ad effettuare un redirect da miosito.it/qualsiasicosa a miosito.it/qualsiasicosa/ ma senza successo.


    Non so come fare né tantomento capisco il perché di questo comportamento, in rete non ho trovato nulla a riguardo... che sia una questione di configurazioni?

    Premetto che ho testato tutto in locale su winxp e per ora non ho la possibilità di farlo online.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.