Visualizzazione dei risultati da 1 a 8 su 8

Discussione: link e htaccess

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    52

    link e htaccess

    salve a tutti,
    ho installato Zenphoto, tutto bene, nel layout ho inserito anche dei link ad una pagina che mi visualizza gli articoli scritti in un blog che sta nella stessa cartella di Zenphoto, le url sono come le seguenti:
    Codice PHP:
    http://www.sito.com/cartella/cat.php?cat=10&title=ciao 
    ho però la necessità di un formato del genere:
    Codice PHP:
    http://www.sito.com/10/ciao.html 
    Allora nell'.htaccess ho aggiunto l'ultima riga:
    Codice PHP:
    # htaccess file for zenphoto
    # NOTE: Change the RewriteBase below to the absolute path to your zenphoto directory.

    <IfModule mod_rewrite.c>
      
    RewriteEngine On

      
    #### !!! Change this to the web path (eg: [url]http://www.example.com/photos[/url] --> /photos) !!!
      
    RewriteBase /cartella
      
    ####

      
    RewriteRule   ^admin/?$                       zen/admin.php [R,L]

      
    RewriteCond %{REQUEST_FILENAME} -[NC,OR]
      
    RewriteCond %{REQUEST_FILENAME} -[NC]
      
    RewriteRule ^.*$ - [R,L]

      
    RewriteRule index\.php$                     index.php [L,QSA]
      
    RewriteRule ^page/([0-9]+)/?$               index.php?page=$[L,QSA]
      
    RewriteRule ^page/([A-Za-z0-9\-_]+)/?$      index.php?p=$[L,QSA]
      
    RewriteRule ^(.*)/page/([0-9]+)/?$          index.php?album=$1&page=$[L,QSA]
      
    RewriteRule ^(.*)/image/(thumb|[0-9]{1,4})/([^/\\]+)$    zen/i.php?a=$1&i=$3&s=$[L,QSA]
      
    RewriteRule ^(.*)/image/([^/\\]+)$          zen/i.php?a=$1&i=$[L,QSA]

      
    # Catch-all - everything else gets handled in PHP for compatibility.
      
    RewriteRule ^(.*)/?$                        index.php?album=$[L,QSA]
      
    ################ecco la riga incriminata
      
    RewriteRule ^([^/]*)/([^/]*)\.html$ /cartella/cat.php?cat=$1&title=$[L,QSA]
    </
    IfModule
    Il link viene prodotto così
    Codice PHP:
    $titolo strtolower(preg_replace('#[^a-zA-Z0-9]#''-'$r->titolo));
    echo 
    " <a href=\"/cartella/".$r->id."/".$titolo.".html\">".$r->titolo."</a>"
    Quando però ci clicko sopra mi da pagina non trovata.

    Grazie mille in anticipo

  2. #2
    Ciao,
    verifica che il link venga creato correttamente e poi sposta la regola di rewrite così:

    codice:
    RewriteRule ^([^/]*)/([^/]*).html$ /cartella/cat.php?cat=$1&title=$2 [L,QSA] 
    
    # Catch-all - everything else gets handled in PHP for compatibility.
    RewriteRule ^(.*)/?$ index.php?album=$1 [L,QSA]

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    52
    grazie 1000, adesso provo

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    52
    ho fatto la modifica come mi hai indicato, la cosa pazzesca è che adesso la riga di riscrittura aggiunta funziona, le altre no

  5. #5
    :master: prova a specificare meglio il formato dell'URL che deve essere riscritto:

    codice:
    RewriteRule ^([0-9]+)/([^/]*).html$ /cartella/cat.php?cat=$1&title=$2 [L,QSA]

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    52
    Perfetto grazie 1000

    un'ultima cosa, partendo da:
    Codice PHP:
    http://www.sito.com/cartella/cat.php?cat=10&title=ciao 
    se invece di
    Codice PHP:
    http://www.sito.com/10/ciao.html 
    volessi un formato tipo:
    Codice PHP:
    http://www.sito.com/ciao.html 
    come dovrei modificare:
    Codice PHP:
    RewriteRule ^([0-9]+)/([^/]*).html$ /cartella/cat.php?cat=$1&title=$[L,QSA
    ?

    Grazie 1000 in anticipo

  7. #7
    Bè suppongo che quel 10 serva allo script per capire in che categoria leggere le immagini, quindi non credo che puoi toglierla.

    Forse, per assurdo, potresti togliere "ciao", piuttosto che il 10

    Ma non conoscendo lo script mi fermo qui con i consigli

  8. #8
    Per creare un link del tipo:
    http://www.sito.com/ciao.html

    senza avere un riferimento esplicito all'ID dell'articolo, dovresti predisporre un sistema di caching dei link... sicuramente una cosa più complessa.

    Io ti consiglio di pensare ad una struttura del tipo:
    http://www.sito.com/ciao-10.html

    quindi incorporare l'ID alla fine del titolo

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.