• User Newbie

    Redirect 301 dispettoso

    Ciao a tutti,
    ho un problema con il redirect 301 fatto con l'htaccess.

    Sto facendo un restyling del mio sito e sto cambiando alcune url dalla forma:

    www,sito,it/15/ciao-a-tutti,html in **www,sito,it/ciao,html
    **(uso le , e i ; al posto dei . e dei : per le restrizioni dei forum)

    con questo codice :

    Redirect 301 /15/ciao-a-tutti.html http;//www,sito,it/ciao,html
    ```questo redirect non mi funziona!
    
    ottengo una pagina del tipo : www,sito,it/ciao,html?id=15&l=ciao-a-tutti
    
    ho provato a vedere se c'era qualche conflitto con le righe precedenti del mio file htaccess ma le varie prove hanno avuto esito negativo, ho pensato che il problema fosse la riga :  RewriteRule ^([^/]+)/([^/]+).html index.php?id=$1&l=$2  ma non so come fare in modo che non venga eseguita, ho provato a cambiare anche il flag ma niente da fare .
    
    Provo ad inserire parte del file sperando che qualcuno capisca cosa ho combinato :-)
    
    

    ################
    Options -Indexes
    ################
    DirectoryIndex index.php index.html
    ##############
    Options +FollowSymLinks
    RewriteEngine on

    #Questa parte di codice l'ho inserita perchè ho messo già i link nuovi in altri siti
    RewriteRule ^pluto.html index.php?id=1
    RewriteRule ^pippo.html index.php?id=2
    ....

    Queste sono le regole che ho sempre usato

    RewriteRule ^([^/]+).html index.php?id=$1
    RewriteRule ^([^/]+)/([^/]+).html index.php?id=$1&l=$2
    [continua]

    REDIRECT 301

    Redirect 301 /15/ciao-a-tutti,html http;//www,sito,it/ciao,html


  • Super User

    ciao onlygio 🙂

    hai provato a mettere Redirect prima delle RewriteRule?


  • User Newbie

    si, non cambia...


  • User

    Ciao OnlyGio 😉
    prova a mettere delle regole meno generiche per distinguere dove va un numerico o un alfanumerico, o entrambi.

    RewriteRule ^([0-9]{1,9})/([a-zA-Z_-]*).html$ index.php?page=$2&id=$1