Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: Url Rewrite

  1. #1

    Url Rewrite

    Ciao a tutti sto provando a rendere il mio sito SEO-friendly.

    In questo momento viene gestito da un piccolo cms creato da me e per visualizzare una singola news devo passare l'id come parametro GET.

    Ora il percorso della news è il seguente
    codice:
    italian/default.php?id=x
    Ora vorrei modificare l'url con il titolo della news se è possibile come posso fare?
    Stavo provando con il file htacess con il seguente codice
    codice:
    RewriteEngine On
    RewriteRule /news/([a-z]+)/([0-9]+).html http://www.mioDominio.it/italian/default.php?id?$1 [L]

    Come posso modificare questo codice che in questo momento non funziona
    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    puoi provare con:

    codice:
    RewriteRule ^news/([a-z]+)/([0-9]+).html$ italian/default.php?id=$2 [L, QSA]
    ...le opzioni (L, QSA) dipendono da cosa vuoi ottenere. $2 sarebbe il secondo gruppo individuato nella regola... ti consiglio di mettere la prima volta [R,L,QSA] così da vedere nel browser l'url generata, poi eliminerai la R una volta che è tutto a posto...

  3. #3
    Ho fatto come detto e guardando nel browser l'url rimane uguale a prima.

    da cosa potrebbe dipendere?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    naturalmente la riga deve essere entro un script ".htaccess" tipo:

    codice:
    <IfModule mod_rewrite.c>
    	RewriteEngine on
    	RewriteBase /
    
    	RewriteRule ^news/([a-z]+)/([0-9]+).html$ italian/default.php?id=$2 [R,L, QSA]
    </IfModule>
    nella root del sito... è così?

  5. #5
    Si il file .htaccess è nella root del sito.

    Il sito in questione è il seguente link come puoi vedere in home nella sezione news potrai vedere che l'url è sempre lo stesso

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmh... ma la regola serve a far sì che se uno va su /news/titolodellanews/id venga reindirizzato al link esatto... NON A CAMBIARE AUTOMATICAMENTE i link esistenti... quelli li devi rigenerare tu correttamente!!!!!

  7. #7
    mmm ... e per rigenerare correttamente come potrei fare?
    mi spiego meglio, io non dovrei avere l'id della news ma il titolo della news diciamo come wordpress che permette di impostare i permalink con i postname.

    Qualche consiglio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    quando generi i link generali mettendo l'id in coda dopo una / (così il rewrite lo trova) e prima metti il titolo opportunamente "filtrato" (elimini caratteri speciali, etc. e lo rendi tutto minuscolo), tipo:

    Codice PHP:
    $id = ...
    $titolo = ...
    $link "..../?id=$id"// adesso è così, invece (potresti usare le regexp, se riesci...):
    $titolo strtolower(trim($titolo));
    $titolo str_replace(array(' ''à''è''é', ...), array('-''a''e''e', ...), $titolo); // sostituzioni
    $link "..../$titolo/$id"

  9. #9
    Ok ma applicando questo link ovviamente mi visualizza pagina non trovata in quanto la pagina con $titolo/$id non esiste

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    beh, no... dovresti trasformare i link nel formato che in .htaccess hai "riscritto", quindi non ti deve dare errore, ma fare il reindirizzamento... occhio al percorso esatto (nell'esempio abbiamo previsto in htaccess url che iniziano con "news/" e non p.es. con "italian/news/"...)!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.