Bedo's Blog

Uno sguardo alla tecnologia di oggi, perche sia veramente d'aiuto nella vita di tutti i giorni

Usare il file .htaccess

Dopo aver fatto un sito (si spera un bel sito), si puo porre l’attenzione su alcune cose che sicuramente possono piacere al cliente (e anche al visitatore), ma sopratutto ai motori di ricerca.

Sto parlando della riscrittura degli URL tramite htaccess.

Scenario: avete fatto un sito per un azienda, e le pagine hanno una struttura del tipo
http://miosito.com/pagina.php?q=catalogo
e volete farla diventare una cosa del tipo
http://miosito.com/sito/catalogo

In questo caso, le regole per il file .htaccess saranno:

Options +FollowSymlinks

RewriteEngine on

RewriteRule ^sito/(.+) pagina.php?q=$1

Come si puo notare, la parte importante e’ la RewriteRule, ovvero la regola con la quale impostiamo come il nostro URL dovra essere trasformato.

Ovviamente le possibilita sono infinite, basta sperimentare qualche soluzione.
Se qualcosa non e’ chiaro, commentate pure.

Blogged with the Flock Browser

Forse ti potrebbe anche interessare:

  1. Come bloccare l’accesso con l’htaccess
  2. Guida SEO da Google
  3. SEO rapido – terza parte
  4. Verificare il tempo di caricamento di una pagina
  5. Creare pattern ripetuti online

Wed, April 1 2009 » internet, ottimizzazione sito web

4 Responses

  1. portalit June 4 2009 @ 14:29

    Ciao Luca , complimenti per il blog davvero molto utile.

    La terza parte del htaccess non mi è molto chiara.
    RewriteRule (content/|component/) che metto al posto di content e component

    Nel mio caso sto lavorando con l’ htaccess di joomla

  2. Bedo Bedo June 4 2009 @ 16:43

    Ciao portalit, e grazie per i complimenti, fanno sempre piacere.
    Allora, la RewriteRule e’ la regola che ti permette appunto di riscrivere gli url. Anche se e’ strano, la devi guardare al contrario. Ovvero, il tuo sito “capisce” link del tipo http://www.miositoweb.com/pagina.php?q=1, mentre tu lo vuoi cambiare in http://www.miositoweb.com/sito/1.

    Allora dovrai dire:
    RewriteRule ^sito/(.+) pagina.php?q=$1

    In questo modo, gli utenti leggeranno la prima parte, ma mod_rewrite la cambiera nella seconda, al fine di navigare il sito.

    Mi sono spiegato o hai ancora qualche dubbio? Comunque Joomla fornisce alcuni moduli che permettono di modificare l’htaccess in modo semplice.

    Ciao

  3. Marco September 19 2009 @ 8:40

    Ciao! Io ho un sito fatto in Joomla. Ho attivato il mod_rewrite, le url vengono automaticamente riscritte, e funziona tutto perfettamente. Ho un problema. Poiché ho trovato alcuni link rotti che puntano al mio sito, vorrei aggiungere delle regole manuali. Come faccio? Se le scrivo e le aggiungo al file .htaccess non funzionano… Ecco il mio attuale htaccess.

    RewriteEngine On

    ########## Begin – Rewrite rules to block out some common exploits
    ## If you experience problems on your site block out the operations listed below
    ## This attempts to block the most common type of exploit `attempts` to Joomla!
    #
    # Block out any script trying to set a mosConfig value through the URL
    RewriteCond %{QUERY_STRING} mosConfig_{1,21}(=|\%3D)

    # Block out any script trying to base64_encode crap to send via URL
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\)

    # Block out any script that includes a tag in URL
    RewriteCond %{QUERY_STRING} (\|%3E)

    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\{0,2})

    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\{0,2})

    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php

    #
    ########## End – Rewrite rules to block out some common exploits

    # Uncomment following line if your webserver’s URL
    # is not directly related to physical file paths.
    # Update Your Joomla! Directory (just / for root)

    RewriteBase /

    ########## Begin – Joomla! core SEF Section
    #
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/*)$
    RewriteRule (.*) index.php
    RewriteRule .* –
    #
    ########## End – Joomla! core SEF Section

  4. Bedo Bedo September 25 2009 @ 10:05

    Ciao Marco
    Joomla dovrebbe gestire anche i collegamenti “rotti” in automatico, reindirizzandoli a una pagina a tua scelta.
    In questo modo, non devi toccare il file htaccess, poiche ci pensera direttamente il tuo CMS.

    Ciao

Leave a Reply