Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    mod_rewrite usato da youtube, facebook e twitter

    Ho notato che tutti e tre i grandi portali menzionati nel titolo, permettono di raggiungere, ad esempio twitter, la pagina dedicata ad un utente sia in questo modo:

    codice:
    www.twitter.com/nickname
    che in questo modo
    codice:
    www.twitter.com/nickname/
    ...nel secondo caso si riferisce ad una directory, quindi è come se dopo www.twitter.com/nickname ci sia una pagina index che non viene visualizzata nella barra, ma nel primo caso?! Come fa a processare l'url richiesto senza aggiungerci la barra finale?! Se fosse una pagina l'estensione dov'è?!

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    dipende da come scrivi la regola...

    ad esempio

    questa regola è fatta per NON avere lo slash finale:

    RewriteRule ^([^/]*)/keyword/([^/]*)$ index.php?lingua=$1&main_page=elenco-articoli&keyword=$2 [L]

    ma avrei potuto scrivere anche con lo slash

    RewriteRule ^([^/]*)/keyword/([^/]*)/$ index.php?lingua=$1&main_page=elenco-articoli&keyword=$2 [L]

    però a parte lo slash ottieni esattamente la stessa cosa
    NON ABBANDONATE CANI O GATTI!!!

  3. #3
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da activ
    dipende da come scrivi la regola...

    ad esempio

    questa regola è fatta per NON avere lo slash finale:

    RewriteRule ^([^/]*)/keyword/([^/]*)$ index.php?lingua=$1&main_page=elenco-articoli&keyword=$2 [L]

    ma avrei potuto scrivere anche con lo slash

    RewriteRule ^([^/]*)/keyword/([^/]*)/$ index.php?lingua=$1&main_page=elenco-articoli&keyword=$2 [L]

    però a parte lo slash ottieni esattamente la stessa cosa
    Spulciando la gestione dei permalink di wordpress, ho trovato che il file .htaccess e quindi le direttive di rewrite sono state usate così
    codice:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    Praticamente tutto viene rimandato a index.php nella webroot, poi tramite php viene analizzato l'url richiesto e confrontato con il database che ha l'elenco delle pagine, io pensavo di replicare un simile approccio ma...se reindirizzo tutto a index.php a prescindere (ovviamente se non esiste la pagina richiesta in quel percorso, altrimenti apro quella), i browser metteranno sempre lo slash alla fine in automatico...c'è modo di far coesistere questo approccio con la rewrite che mi hai indicato? Domani faccio qualche prova, innanzi tutto sostituendo il . della rewrite con il tuo esempio

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.