• User Attivo

    ancora URL Rewrite

    ho trovato questo tutorial che riporto qui:

    Htaccess y páginas dinámicas

    Come fare in modo che le URL abbiano un buon aspetto, senza cha appaiano tutti quei parametri che passano per le URL. Una delle difficoltà che si presentano quando si utilizzano URL dinamiche, cioè quelle che si inviano attraverso il metodo GET; consiste nel momento nel quale i robot che navigano per la rete entrano nel nostro sito WEB e si trovano a dover seguire dei parametri con la maggior parte delle volte non ammettono.

    Prendiamo per esempio questa url: http://localhost/index.php?cat=4&subcat=45&id=4566
    In questo caso la maggior parte dei robot ammetterebbero non più di 1 parametro e ometterebbero i caratteri: ( & ? = # ) seguenti. Dipenderà quindi dal nostro PageRank se questa url viene indicizzata dai principali motori di ricerca.

    Esiste, comunue, una forma che "MASCHERA" la url, per dirlo in altri termini, senza modoficare la funzionalità della nostra pagina: editando l'archivio .htaccess che deve trovarsi all'inizio di ogno directory.

    Dobbiamo quindi aggiungere le seguenti linee:

    <? RewriteEngine on 
    RewriteRule ^.*$ index.php 
    ?>
    

    Indicando con index.php il nostro archivio principale della directory che si mostrerà all'entrata al nostro sito.

    Quindi, tornando al nostro esempio precedente, potremmo chiamare la url nel seguente modo::
    http://localhost/4/45/4566

    Non avremo più nessun problema con i motori di ricerca. Adesso rimane solo un lavoretto molto semplice.
    ¿Como si estraggono questi valori che si immagazzinano nella URL?

    Con $REQUEST_URI, ci verrebbe restituito il frammento o path fisico della url attuale. Il passo seguente sarebbe quello di utilizzare uan funzione che ci permetta dividere questa url, utilizzando la barra "/" come punto di riferimento, utilizzando poi la funzione explode() che ci restituisce una matrice con ogni parte della url.

    Codice:

    <? PHP 
    $aux = substr&#40; $_SERVER&#91;'REQUEST_URI'&#93;, strlen&#40;'/'&#41;&#41;; 
    if&#40; substr&#40; $aux, -1&#41; == '/'&#41;&#123; 
    $aux=substr&#40; $aux, 0, -1&#41;; 
    &#125; 
    $urlARRAY___ =explode&#40; '/', $aux&#41;; 
    
    /////////////VALORI DA UTILIZZARE 
    $CATEGORIA=$urlARRAY___&#91;0&#93;; 
    $SUBCATEGORIA=$urlARRAY___&#91;1&#93;; 
    $ID=$urlARRAY___&#91;2&#93;; 
    ?> 
    

    secondo voi è sufficiente così? può funzionare inserendo il codice php, da quello che si capisce, nel file index.php della root?


  • Super User

    mi sembra corretto e dovrebbe funzionare


  • User Attivo

    quindi, per una URL così:

    http://www.miosito.com/modules.php?name=Web_links&l_op=viewlink&cid=13

    i valori da utilizzare nel codice php dovrebbero essere i seguenti:

    $name
    $l_op
    $id

    corretto?

    è da mesi che vado dietro a questa storia (saltuariamente) e non sono riuscito ancora a venirne fuori :arrabbiato:

    spero che sia la volta buona