• User Attivo

    Mod rewrite in parte funzionante!

    Allora..ho creato un mod_rewrite per una mia pagina e questa è la regola

    RewriteEngine On
    RewriteRule ^([a-zA-Z_-]+)/([^/]+).html$ index.php?content=$1&id=$2

    In questo modo il rewrite funziona..ma è come se perdesse le direttive del CSS infatti la pagina si vede senza stile!

    Se cambio la regola in questo modo

    RewriteEngine On
    RewriteRule ^([a-zA-Z_-]+)-([^/]+).html$ index.php?content=$1&id=$2

    Mi spunta la pagina ma senza contenuto...è come se nn gli verrebbero passate le variabili "content" e "id".

    E lo stesso succede se la regola la scrivo così:

    RewriteEngine On
    RewriteRule ^([a-zA-Z_-]+)([^/]+).html$ index.php?content=$1&id=$2

    Come mai??..qualcuno sa darmi una mano?


  • User

    @Amistat said:

    Allora..ho creato un mod_rewrite per una mia pagina e questa è la regola

    RewriteEngine On
    RewriteRule ^([a-zA-Z_-]+)/([^/]+).html$ index.php?content=$1&id=$2

    In questo modo il rewrite funziona..ma è come se perdesse le direttive del CSS infatti la pagina si vede senza stile!

    Premetto che sono niubissimo, ma ho appena fatto una regola come questa: per il css (ma anche le immagini, ecc) devi prevedere un link assoluto, o comunque diverso da quello senza rewrite. Adesso, infatti, la tua pagina risulta essere in una sottodirectory di quella di prima, se hai messo un link relativo il css è introvabile.

    Michele


  • User Attivo

    Si ci avevo pensato a questa cosa..infatti avevo messo il file css anche nella sottodirectory..ma niente! Ora che ci penso però..non avevo modificato il link di richiamo dello stile.

    Faccio delle prove e grazie mille 😉


  • User Attivo

    Quel problema è stato risolto..ora però vorrei fare una cosa 1 pò più complicata!

    Nella query string, invio l'id...ma vorrei fare in modo che a quell'id venga associato il nome relativo a quell'oggetto..e quindi avere scheda/nome_oggetto.html Come posso fare???


  • User

    @Amistat said:

    Quel problema è stato risolto..ora però vorrei fare una cosa 1 pò più complicata!

    Nella query string, invio l'id...ma vorrei fare in modo che a quell'id venga associato il nome relativo a quell'oggetto..e quindi avere scheda/nome_oggetto.html Come posso fare???
    sempre come soluzione semplice e niubba, per evitare di impelagarmi in procedure improbabili, ho risolto facendo:
    scheda/nomeoggetto-id.html ,
    e scrivendo una regola che ignora, di fatto, il nome oggetto ma utilizza come variabile l'id:

    RewriteRule ^([^/]+)/([^/]+)-([^/]+)\.html$ index.php?scheda=$1&idoggetto=$3
    ```In questo caso la variabile $2 non è presente, ed è proprio il nome dell'oggetto.
    
    Poi ci saranno soluzioni più raffinate, non c'è dubbio ;)
    
    Michele

  • User Attivo

    Ah quindi il nome dell'oggetto..lo metto nel link..ma di fatto nn gli serve..perchè gli arriva l'id?? 🙂

    Edit: Non funziona così :(... mi perde il valore dell'id 😞

    Edit2: Come non detto...funziona..sbagliavo io :D:D

    Rigrazie mille 🙂


  • User

    @Amistat said:

    Ah quindi il nome dell'oggetto..lo metto nel link..ma di fatto nn gli serve..perchè gli arriva l'id?? 🙂
    :vaiii:
    esatto, tu gli dici di leggere solo la variabile dell'id, al posto del nome puoi mettere quello che vuoi, in pratica.

    Michele


  • User Attivo

    ho un altro problemino...non riesco a dargli il numero di pagina 😞

    ho scritto questa regola:
    RewriteRule ^([^/]+)_([0-9]*).html$ index.php?content=$1&pag=$2

    E vorrei che il risultato fosse articoli_2.html ma nn va..dove sbaglio??


  • User Attivo

    Niente ho risolto in un'altra maniera 🙂