• User Attivo

    Mod Rewrite di più sezioni del sito

    Buongiorno a tutti gli esperti.
    Con il mio sito www.ristorantidisorrento.it ho (sempre grazie al Vs aiuto) fatto un modrewrite delle strutture, e funziona perfettamente, utilizzando la seguente stringa nell'.htaccess:

    RewriteEngine on
    RewriteRule ^([0-9]+)-([^/]+).html$ dettaglio.php?id=$1&nome=$2

    Ora il mio sito ha anche un'altra sezione quella delle news, quindi un altra pagina e un altra tabella nel database ovviamente. Per ora questa sezione l'ho lasciata ancora senza modrewrite per cui le pagine sono del tipo

    dettaglionotizie.php?Id=30

    Volevo fare il mod rewrite anche su questa pagina per renderla del tipo
    /30-titolo-della-news.html

    Credevo che la cosa fosse banale aggiungendo al mio .htaccess la riga e modificando i link cosi come ho fatto per le strutture:

    RewriteEngine on
    RewriteRule ^([0-9]+)-([^/]+).html$ dettaglio.php?id=$1&nome=$2
    RewriteRule ^([0-9]+)-([^/]+).html$ dettaglionotizie.php?id=$1&nome=$2

    La cosa però evidentemente non è cosi immediata perchè il modrewrite tenta sempre di accedere alla pagina dettaglio anzichè a quella dettaglionotizie.
    Mi sapete aiutare?
    Grazie in anticipo


  • User

    Beh... le dure regole, almeno nella parte iniziale (cioè la condizione che deve essere verificata per applicare la riscrittura) sono uguali quindi, giustamente viene effettuata la riscrittura verso dettaglio.php.
    Potresti cambiare le url delle news in qualcosa del genere
    /news/30-titolo-della-news.html in modo da elminare l'ambiguità presente e modifcare la regola di conseguenza.

    bye bye


  • User Attivo

    Grazie...
    Mi potresti aiutare a fare una cosa del genere??
    Cosa bisognerebbe scrivere nel .htaccesst.
    Scusami ma non so proprio dove mettere le mani
    Grazie


  • Super User

    consiglio di usare un prefisso /news/, ma se non ti va di modificare tutto..

    n30-titolo-della-news.html => ^n([0-9]+)-([^/]+).html$

    voilà 😄


  • User Attivo

    Scusa l'ignoranza OSVI...non mi è molto chiaro...

    Il mio htaccess al momento è:

    RewriteEngine on
    RewriteRule ^([0-9]+)-([^/]+).html$ dettaglio.php?id=$1&nome=$2

    devo aggiungere la riga

    n30-titolo-della-news.html => ^n([0-9]+)-([^/]+).html$

    ????
    e cambiare i link? scusami ma non mi è molto chiaro...il 30 è l'id della news, dovrebbe essere variabile cosi come ho fatto per la pagina dettaglio? la mia pagina si chiama dettaglionotizie.php e non la vedo citata da nesusna parte in questa stringa...


  • Super User

    il tuo file ha due regole identiche
    cambia quella delle news aggiungendo una "n" prima dell'id
    (devi poi aggiornare la pagina con la lista delle news di conseguenza!)

    la stringa a => b non devi inserirla, era solo per riferimento 🙂


  • User Attivo

    Grazie infinite...funziona benissimo