Visualizzazione risultati 1 fino 14 di 14
Like Tree1Likes
  • 1 Post By mzanella

Discussione: Rewrite Url pagine dinamiche

  1. #1
    Guest

    Predefinito Rewrite Url pagine dinamiche

    Salve, ho un piccolo problema che non so come risolvere.

    Ho questo codice PHP per creare pagine dinamiche.

    Codice PHP:
    <?php
    if(isset($_GET['page']) && file_exists('./pagine/'.$_GET['page'].'.html'))
    include(
    './pagine/'.$_GET['page'].'.html');
    else
    include(
    'news.php');
    ?>
    I miei link sono: kolop.altervista.org/?page=prova

    Vorrei cambiare tramite il Rewrite Url del .htaccess in qualcosa tipo: kolop.altervista.org/prova

    Non capisco niente di .htaccess, PHP ecc. quindi mi affido a voi.

    Spero di essermi spiegato bene.

    Grazie.

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito


    I suggerimenti che do più spesso:


  3. #3
    Guest

    Predefinito

    Ciao, ho trovato questo codice che funziona:

    Codice:
    RewriteEngine On
    RewriteRule ^([^/]*)\.html$ /?page=$1 [L]
    Ma se volessi togliere il .html finale in modo che rimanga solo /prova e non /prova.html ? Oppure il .html serve per forza?

    Grazie.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    Hai provato a rimuoverlo? Funziona?

    Ciao!

  5. #5
    Guest

    Predefinito

    Sì ho provato a rimuovere .html dall'url e mi da l'errore 404. Ho anche provato a toglierlo dal codice ma poi mi da l'errore 500.

  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Oltre a ".html" devi rimuovere anche il backslash:
    Codice:
    RewriteEngine On
    RewriteRule ^([^/]*)$ /?page=$1 [L]

    I suggerimenti che do più spesso:


  7. #7
    Guest

    Predefinito

    Così mi da l'errore 500.

  8. #8
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Prova questo:
    Codice:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]*)$ /?page=$1 [QSA,L]
    penso che l'errore sia dovuto al fatto che il primo reindirizzamento punta ad un URL che corrisponde al pattern [^/]*, causando quindi un ciclo infinito di reindirizzamenti.

    I suggerimenti che do più spesso:


  9. #9
    Guest

    Predefinito

    Ancora errore 500.

  10. #10
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Strano, quello lo sto usando nel mio spazio e funziona: http://mzanella.altervista.org/tests/prova.

    I suggerimenti che do più spesso:


  11. #11
    Guest

    Predefinito

    Non so... Appena inserisco quel codice nel .htaccess e apro la index mi da l'errore 500.

  12. #12
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Forse ti conviene rendere esplicito il nome della pagina che riceverà le richieste:
    Codice:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]*)$ /index.php?page=$1 [QSA,L]
    kolop likes this.

    I suggerimenti che do più spesso:


  13. #13
    Guest

    Predefinito

    Grandissimo, funziona. Grazie.

  14. #14
    Guest

    Predefinito

    Ciao, scusami se ti disturbo ancora. Io ho Cutenews e le news me le crea così: ?id=titolo . Ora per riscrivere anche qui l'url per /index.php?id=titolo come posso fare? Se aggiungo due RewriteRule mi da l'errore 500.

Regole di scrittura

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