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.
Forse ti potrebbe anche interessare:




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
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
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
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