+ Rispondi alla Discussione
Risultati da 1 a 5 di 5

RewriteRule .htaccess

Ultimo Messaggio di gohan89 il:
  1. #1
    User Newbie
    Data Registrazione
    Jul 2013
    Località
    palermo
    Messaggi
    4

    RewriteRule .htaccess

    Salve a tutti.
    Sono giorni che continuo a perdere sanità mentale dietro ad alcune semplici condizioni di Rewrite degli url del mio sito.
    Inutile postarvi il codice che ho fatto in quanto non funziona, e, ormai, sto procedendo a tentativi più o meno logici.

    Chiedo a qualche esperto o pratico di .htaccess di aiutarmi con la compilazione dello stesso.

    Vi espongo la struttura del sito:
    -index.php -> pagina contenente il login che rimanda a dashboard.php
    |>Questa pagina può contenere una query string "c"

    -dashboard.php -> pagina che permette di selezionare, nel caso non sia già impostata, la variabile "c" della Query string. Selezionata la variabile, rimanda alla pagina home.php?c=xxx&p=yyy
    |>Questa pagina può contenere una query string "c"

    -home.php?c=xxx&p=yyy -> Questa pagina racchiude tutte le pagine principali del sito. Contiene sempre la variabile "c" nella query string ed aggiunge la variabile "p" contenente il nome della pagina.

    Se mancano le variabili della query string, il sito mi rispedisce automaticamente alla prima pagina che mi permette di riselezionarle.

    Vi faccio una lista delle possibili combinazioni che l'url "sporco" può avere e di come dovrebbe essere reindirizzato.

    localhost/index.php -> localhost/
    localhost/ -> localhost/
    localhost/?c=xxx -> localhost/xxx/
    localhost/index.php?c=xxx -> localhost/xxx/
    localhost/dashboard.php -> localhost/dashboard/
    localhost/dashboard.php?c=xxx -> localhost/dashboard/xxx/
    localhost/home.php?c=xxx&p=yyy -> localhost/xxx/yyy/

    (localhost è l'indirizzo del mio sito, non una cartella)

    Ovviamente le cartelle sulla parte destra della lista non esistono, sono degli url fittizi.
    Mi serve che il sito rimandi sempre e comunque a quegli url fittizi(facendo un redirect dagli url "sporchi"). In pratica, sia che scrivo l'url sulla sinistra, sia che scrivo l'url sulla destra, devo sempre aggiornarmi l'url del browser con quello sulla destra.

    Qualcuno mi può aiutare?
    Ultima modifica di Federico Sasso; 31-07-13 alle 12:50 Motivo: Modificato titolo per conformarlo regolamento articoli 3.5 e 3.6

  2. #2
    User
    Data Registrazione
    Jun 2012
    Località
    Cagliari
    Messaggi
    65
    Per /xxx/ per fare il rewrite a /index.php?c=xxx hai bisogno del seguente:

    Codice:
    RewriteEngine On
    RewriteRule ^(.*)/$ index.php?c=$1 [L,QSA]
    Se l'utente naviga a mydomain.com/help/ il server mostrerà mydomain.com/index.php?c=help

    Qui sotto qualcosa di simile per la variabile p, nota come questa regola è prima dell'ultima regola in modo che sia controllata prima.

    Codice:
    RewriteEngine On
    RewriteRule ^(.*)/(.*)/$ index.php?c=$1&p=$2 [L,QSA]
    RewriteRule ^(.*)/$ index.php?c=$1 [L,QSA]
    Per la cartella dashboard bisogna che metta la regola sopra queste regole, in modo che di nuovo sia controllata prima ad esempio:

    Codice:
    RewriteEngine On
    RewriteRule ^dashboard/(.*)/$ dashboard.php?c=$1&p=$2 [L,QSA]
    RewriteRule ^dashboard/$ dashboard.php?c=$1&p=$2 [L,QSA]
    RewriteRule ^(.*)/(.*)/$ index.php?c=$1&p=$2 [L,QSA]
    RewriteRule ^(.*)/$ index.php?c=$1 [L,QSA]
    L'esempio home.php che dai non è possibile in quanto corrisponde alla versione index.php, ma puoi fare come segue:

    Codice:
    RewriteEngine On
    RewriteRule ^home/(.*)/(.*)/$ home.php?c=$1&p=$2 [L,QSA]
    RewriteRule ^home/(.*)/$ home.php?c=$1 [L,QSA]
    RewriteRule ^dashboard/(.*)/(.*)/$ dashboard.php?c=$1&p=$2 [L,QSA]
    RewriteRule ^dashboard/(.*)/$ dashboard.php?c=$1 [L,QSA]
    RewriteRule ^(.*)/(.*)/$ index.php?c=$1&p=$2 [L,QSA]
    RewriteRule ^(.*)/$ index.php?c=$1 [L,QSA]

  3. #3
    User Newbie
    Data Registrazione
    Jul 2013
    Località
    palermo
    Messaggi
    4
    grazie per la risposta, ma c'è una svista in ciò che hai postato. index.php e dashboard non contengono mai "p", ma solo "c"... solo home utilizza entrambe le variabili
    Ultima modifica di gohan89; 20-07-13 alle 01:17

  4. #4
    User Newbie
    Data Registrazione
    Jul 2013
    Località
    palermo
    Messaggi
    4
    UP. Ho bisogno di aiuto

  5. #5
    User Newbie
    Data Registrazione
    Jul 2013
    Località
    palermo
    Messaggi
    4
    UP. Non abbiamo ancora trovato soluzione al problema. Quella postata da Geek non va bene. Chi mi aiuta?

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.