• Super User

    Aggiornamento php, non funziona piu' il rewrite

    Ho aggiornato php portandolo a 5.2.11, ma ora sui miei siti non funziona piu' il rewrite.
    Da che dipende?
    Come posso risolvere sto problema?
    Grazie


  • ModSenior

    Ciao No_Stress,

    il problema del mod rewrite non dipende da php, ma può dipendere da apache.


  • Super User

    Ciao, pero' non capisco il motivo, non l'ho toccato apache, ho solo fatto l'aggiornamento di php.
    Cosa dovrei fare?


  • ModSenior

    Dovresti intanto postare il codice di qualche pagina php che ti da problemi.
    I tuoi script potrebbero essere scritti in modo da non funzionare con tutte le configurazioni di php.


  • Super User

    <?php
    $descrizione = stripslashes ($descrizione);
    $descrizione = nl2br ($descrizione);
    require_once('include/config.php');
    //include("include/config.php");
    require_once('include/funzioni_utili.php');
    //include("include/funzioni_utili.php");
    $sql = "select * from albergo where cartella = "$cartella"";
    $risultato = @mysql_query($sql)
    or die("Impossibile eseguire l'interrogazione.");
    while ($riga = mysql_fetch_array($risultato)) {
    $id = $riga['id'];
    $hotel = $riga['hotel'];
    $descrizione = $riga['descrizione'];
    $sotto = $riga['sotto'];
    $metatag = $riga['metatag'];
    $stelle = $riga['stelle'];
    $stellaimg="";
    for ($stella=1; $stella<=$stelle; $stella++)
    $stellaimg.="<img src=fig/new/stelle.gif>";
    $comune = $riga['comune'];
    $cartella = $riga['cartella'];
    $link = $riga['link'];
    $link_tagliato = ereg_replace("$cartella/"," ",$link);
    $indirizzo = $riga['indirizzo'];
    //$indirizzo=$indirizzo.','.$hotel;
    $attivo = $riga['attivo'];
    $foto_grande = $riga['foto_grande'];
    $foto1 = $riga['foto1'];
    $foto2 = $riga['foto2'];
    $foto3 = $riga['foto3'];
    $foto4 = $riga['foto4'];
    $foto5 = $riga['foto5'];
    $foto6 = $riga['foto6'];
    $foto7 = $riga['foto7'];
    $foto8 = $riga['foto8'];
    $link_tariffe = $riga['link_tariffe'];
    $link_contatti = $riga['link_contatti'];
    }
    $hotel= ucwords(strtolower($hotel));
    $comune= ucwords(strtolower($comune));

    ?>

    mentre questa e' la regex che uso:

    RewriteRule ^([^/]+)/([^/]+).htm hotels.php?cartella=$1&link=$2


  • ModSenior

    Infatti il problema è quello, prova cosi:
    [php]
    <?php
    $cartella = $_GET['cartella'];
    $link = $_GET['link'];
    $descrizione = stripslashes ($descrizione);
    $descrizione = nl2br ($descrizione);
    require_once('include/config.php');
    //include("include/config.php");
    require_once('include/funzioni_utili.php');
    //include("include/funzioni_utili.php");
    $sql = "select * from albergo where cartella = "$cartella"";
    $risultato = @mysql_query($sql)
    or die("Impossibile eseguire l'interrogazione.");
    while ($riga = mysql_fetch_array($risultato)) {
    $id = $riga['id'];
    $hotel = $riga['hotel'];
    $descrizione = $riga['descrizione'];
    $sotto = $riga['sotto'];
    $metatag = $riga['metatag'];
    $stelle = $riga['stelle'];
    $stellaimg="";
    for ($stella=1; $stella<=$stelle; $stella++)
    $stellaimg.="<img src=fig/new/stelle.gif>";
    $comune = $riga['comune'];
    $cartella = $riga['cartella'];
    $link = $riga['link'];
    $link_tagliato = ereg_replace("$cartella/"," ",$link);
    $indirizzo = $riga['indirizzo'];
    //$indirizzo=$indirizzo.','.$hotel;
    $attivo = $riga['attivo'];
    $foto_grande = $riga['foto_grande'];
    $foto1 = $riga['foto1'];
    $foto2 = $riga['foto2'];
    $foto3 = $riga['foto3'];
    $foto4 = $riga['foto4'];
    $foto5 = $riga['foto5'];
    $foto6 = $riga['foto6'];
    $foto7 = $riga['foto7'];
    $foto8 = $riga['foto8'];
    $link_tariffe = $riga['link_tariffe'];
    $link_contatti = $riga['link_contatti'];
    }
    $hotel= ucwords(strtolower($hotel));
    $comune= ucwords(strtolower($comune));

    ?>
    [/php]


  • Super User

    Si infatti e' quello...

    quindi non ho capito, php5 vuole che metto
    $cartella = $_GET['cartella'];
    $link = $_GET['link'];

    Mentre php4 non ci faceva caso?


  • ModSenior

    Ciao No_Stress,
    fai attenzione alle maiuscole...
    Per quanto riguarda il problema, dipende da come è impostato il register globals nel php.ini. Puoi leggere cos'è qui.