• User Attivo

    mod rewrite ok sui link, ma se digito l'indirizzo dinamico?

    Oggi ho deciso di applicare il mod rewrtie al mio sito e dopo l'ultimo tentaivo che risale a circa 1 anno fa ci sono riuscito.

    ho trasformato

    /massima.php?id=$id

    in

    /massima-$id-$kw

    e così per un url specifico ad esempio

    /massima.php?id=746

    diventa

    /massima-746-demans...ivatizzato.html

    esattamente ciò che volevo.

    ho operato su htaccess con questo codice

    Citazione:
    RewriteRule ^massima-([^/]+).html$ massima.php?id=$1 [L,R=301]

    e poi in php includendo nella variabile id anche le keywords prese da db

    Citazione:

    $kw = htmlentities($rowevid['kw'],ENT_QUOTES,'ISO-8859-1');
    $kw = str_replace(" ","-",$kw);
    $massima = nl2br("$massima");
    $id = $rowevid["id"];
    $id = $ide."-".$kw;

    <?php
    echo "$massima<a href="massima-$ide.html" massima"> ...continua a leggere...</a> ";
    ?>

    i problemi che si pongono ora sono

    a) se nella barra degli indirizzi digito l'indirizzo dinamico continua ad apparire regolarmente la pagina dinamica e non quella falsa satatica

    b) google ha indicizzato il sito dinamico

    c c sono vari link in entrata su inrizzi dinamci.

    ...ed io non so come risolvere la situazione facendo in modo che avvenga un R301 dal vecchi al nuovo indirizzo.

    Grazie a tutti x gli eventuali spunti


  • Super User

    @pandasonic said:

    RewriteRule ^massima-([^/]+).html$ massima.php?id=$1 [L,R=301]

    Questo codice chiede al web server di effettuare una redirezione dalla prima URL (pseudo-statica) alla seconda (con parametro id).

    Quindi, essenzialmente, non hai effettuato un rewrite ma una redirezione.

    Quello che dovresti fare è:

    • Controllare che l'espressione regolare che descrive gli URL statici sia corretta. Ad occhio, c'è qualcosa che non mi torna (come la sotto-espressione "([^/]+)"). Chiedi nell'apposito forum GT una mano per progettare correttamente l'espressione regolare.
    • Non usare "[L,R=301]" (che specifica una redirezione) bensì "".
    • Accertarti che tutti i link sul tuo sito che puntano ad una pagina con la "massima", usino l'URL pseudo-statico e non quello con il parametro id.
    • Creare una pseudo-redirezione usando il meta tag REFRESH dagli URL vecchi (con il parametro id) ai corrispondenti URL nuovi (pseudo-statici).

    Ancora, rivolgiti all'apposito forum GT sulle redirezioni ed il mod rewrite, potranno approfondire il tema più di quanto possa fare io.


  • ModSenior

    Discussione spostata nella sezione corretta 🙂


  • User Attivo

    tnx