Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    mod_rewrite che non funziona ?

    mi sto avvicinando per la prima volta con l'intento di riscrivere gli URL del mio sito.
    In questo momento sto cercando di fare questo:

    RewriteEngine On
    RewriteRule ^/attualita\.html$ /attualita.php?tab=0 [L]


    che in teoria dovrebbe trasformare la mia url attualita.php?tab=0 in attualita.html, ma cio non accade, perché ? che sbaglio

  2. #2
    umh, forse ho capito il concetto.
    Sul mio sito devo trasformare io tutti i link in formato statico poi tramite .htaccess li converto in dinamico...........

    giusto ?

    ora però ho un problema con i fogli di stile .....


  3. #3
    problema stili risolto. Però esiste un altro problema. Se il mod_rewrite non è abilitato poi nessun links funziona più .............

    quindi ? :master:

  4. #4
    raga,
    ma è un argomento così complesso il mod_rewrite ?
    Comunque la logica che ci sta dietro è quella, giusto ?

    nel sito si creano i link statici secondo il formato che più ci aggrada e poi tramite il file .htaccess si creano le regole per trasformare i link statici in dinamici per richiamare le pagine reali in .php
    ma quando il mod_rewrite non è abilitato come ci si comporta ? Occorre quindi prima assicurarsi che possa essere abilitato.


    almeno una conferma o smentita, please.

  5. #5

  6. #6
    Ciao,
    Io sconsiglio l'uso del mod_rewrite in questa maniera!
    Guarda un mio tipico mod_rewrite
    Codice PHP:
    RewriteEngine on
    RewriteCond 
    $!^(index\.php|cartelle|e|file|separate|da|pipe|logo\.gif|include|robots\.txt|blank\.gif)
    RewriteRule ^(.*)$ index.php/$[L
    Quindi adesso tranne per i file e cartelle che ci sono nella seconda riga (ricorda di backslashare i punti) tutte le pagine richieste vengono reindirizzate a index.php mantenendo la url.

    Adesso su index.php (o chi per lui) tramite un explode di $_SERVER['REQUEST_URI'] o ancora meglio, se disponibile, $_SERVER['PATH_INFO'] ti ricavi i parametri ed il gioco è fatto, il tutto utilizzando il tuo linguaggio di programmazione preferito e senza ritoccare htaccess ad ogni modifica delle url!

    esempio:
    data la url:

    Codice PHP:
    miosito.com/articolo/22/titolo-seo-articolo 
    Codice PHP:
    $parms explode('/'$_SERVER['PATH_INFO'];
    if(
    $parms[1] == "articolo"){
      
    $id = (int)$parms[2];
      include(
    'cartelle/articolo.php'); //ricorda deve essere inclusa nella lista delle cartelle visionabili!

    }
    etc 
    Antonio Correnti
    www.resetstudio.it

  7. #7
    Originariamente inviato da Erith

    esempio:
    data la url:

    Codice PHP:
    miosito.com/articolo/22/titolo-seo-articolo 
    intanto grazie per la risposta, ma premetto che sto affrontando ora il discorso del mod_rewrite, sinceramente pensavo fosse più semplice .........

    comuque come nel tuo esempio indicato, quel link tu lo crei in fase di generazione della pagina ?
    Cioè nella tua pagina php hai
    Codice PHP:
    <a href="<?php echo 'miosito.com/articolo/'.$row['IDARTICOLO'].'/'.$row['TITOLOARTICOLO'].'.html'?>" .........
    e poi tramite .htaccess converti il link html in php e passi la variabile 'IDARTICOLO'? Oppure è possibile fare una conversione 'al volo' di un link tipo "articolo.php?id=22"

    cioé io sono ancora in fase di definizione della prassi iniziale ...................

  8. #8
    Se posso,
    Ti consiglio di utilizzare il primo sistema, altrimenti ogni volta che aggiungerai una variabile al get, sarai costretto a modificare l'htaccess.
    Se invece mandi tutto sempre ad un file che prende la url e la parsa tramite php hai diversi vantaggi.
    Lui (ad esempio index.php) potrebbe essere il controller che come un vigile urbano smista i dati presi dalla url e li passa alle giuste pagine che processano i dati.
    Iniziando con questo approccio, pian piano potrai iniziare ad utilizzare il pattern mvc.
    Se hai 10 minuti ti consiglio di guardare i video tutorial di code igniter un ottimo framework php.
    Potresti anche fare la conversione al volo, o semplicemente utilizzare un sistema di pair indexing, dove nella url hai miosito.com/chiave/valore/chiave/valore e con un ciclo le salvi nella variabile che vuoi (anche una variabile che si chiama $get così sei abituato al metodo ).

    Codice PHP:

    <?php foreach($notizie as $n):
               
    $link 'articolo/'.$n['IDARTICOLO'].'/'.str_replace(" ""-"$n['TITOLOARTICOLO']);
    ?>
      <h2>[url="<?=$link?>"]<?=$n['TITOLOARTICOLO']?>[/url]</h2>
    <?php endif;?>

    <a href="articoli/categoria/ricette/pagina/2>Vai a pagina 2</a>
    Antonio Correnti
    www.resetstudio.it

  9. #9
    ok, per ora mi accontento della parte a me più familiare. Quindi buona la prima, nelle mie pagine trasformo tutti i link in versione .html(fittizio) che rispecchino le regole settate nel .htaccess. Questa è la prassi standard, poi una volta presa confidenza penso che poi si possa approfondire il discorso e magari renderlo più c....zuto.

    Intanto grazie per il chiarimento logico e provvedo a riformulare la costruzione dei links.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.