browser lang:en
Gli URL amichevoli (o friendly URL) si stanno giá usando da molto tempo, questo meccanismo consiste nell'accorciare gli URL e renderli il piú possibile "umani". Perché questo? In primis ottimizzazione SEO per motori di ricerca, di seguito per un fattore mnemonico o anche per questioni di estetica. un esempio:
www.example.com/index.php?categoria=15&pagina=3&ordine=asc
Questo é meglio:
www.example.com/categoria/15/pagina/3/ordine/asc
o ancora meglio:
www.example.com/15/3/asc
¿Come si ottengono?
Dipende principalmente dal tipo di server su cui stiamo lavorando.Se si tratta di Internet Information Server (IIS) potremo ottenerli usando ISAPI_Rewrite tra gli altri. Se invece stiamo usando Apache, possiamo usarli usando un file .htaccess, ma solo se abbiamo attivo il mod_rewrite sul server.
Sicuramente ci saranno altre alternative ma io personalmente conosco solo questa.
In questo articolo vi spiegheró come creare Friendly URLS con APACHE, mod_rewrite ed .htaccess (piú un poco di aiuto da parte del PHP), usando un archivio index.php come ricettore di tutte le petizioni, questa tecnica viene chiamata URL ROUTING e permette di integrare facilmente i friendly URLS con le tecniche di MVC che ho descritto in passato.
proviamo l' .htaccess
l' .htaccess di prova(e definitivo) che andiamo ad usare é il seguente:
<ifmodule mod_rewrite.c>
RewriteEngine On
#se l'url sollecitato non é un file(esistente), continuare...
RewriteCond %{REQUEST_FILENAME} !-f
#se l'url sollecitato non é una directory(esistente), continuare...
RewriteCond %{REQUEST_FILENAME} !-d
#si prende tutto il -query_string- e si passa come parametro route
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
</ifmodule>
e un archivio .php per provare:
function getVariables($url)
{
//cancelliamo la barra finale
$url = preg_replace('/\/$/', '', $url);
//separiamo le parti dell'url e le contiamo
$parti = explode('/', $url);
$contParti = count($parti);
//se la quantitá di parti non é pari ritorniamo false, all'essere impari una variabile rimarrebbe senza valor e questo non é possibile
if($contParti % 2 != 0)
return false;
$variabili = array();
for($c = 0; $c < $contParti; $c = $c + 2)
{
//Accumuliamo i pari di valori(per noi variabili) nell'aggiusto
$nome = pulire($parti[$c]);
$valore = pulire($parti[$c + 1]);
$variabili[$nome] = $valore;
}
return $variabili;
}
function pulire($valore)
{
//permettiamo solo lettere(a-Z), numeri e trattini
return preg_replace('/[^a-zA-Z0-9-_]/', '', $valore);
}
$_GET = getVariables($_GET['route']);
if($_GET)
{
echo '< pre>';
print_r($_GET);
echo '< /pre>';
}else{
echo 'Non ci sono variabili GET';
}
Esempio nel mio sito: urls-generiche/valori/miavariabile/valore/altravariabile/altrovalore
function getVariables($url)
{
//cancelliamo la barra nel finale
$url = preg_replace('/\/$/', '', $url);
//separiamo le parti/variabili dell'url e le contiamo
$variabili = explode('/', $url);
$contVariabili = count($variabili);
for($c = 0; $c < $cantVaraibles; $c++)
{
//Accumuliamo i valori in un aggiusto
$variabili[$c] = pulire($variabili[$c]);
}
return $variabili;
}
function pulire($valore)
{
//permettiamo solo lettere(a-Z), numeri e trattini
return preg_replace('/[^a-zA-Z0-9-_]/', '', $valore);
}
$misVariablesGet = getVariables($_GET['route']);
if($misVariablesGet)
{
echo '< pre>';
print_r($misVariablesGet);
echo '< /pre>';
}else{
echo 'Non ci sono variabili GET';
}
Esempio nel mio sito: urls-generiche/valori/valore/altrovalorePer i piú smemorati, una lista di comandi principali usati con linux cd : cambia la directory corrente. ls : mostra il…
in:Scripts e tutorials (0 commenti)Con l'avvento di caffeine molti webmaster si sono trovati a dover rivedere tutte le strategie SEO per i…
in:Scripts e tutorials (0 commenti)Questo è un widget di jQuery per il nuovo social network di Google-Buzz-che è possibile incorporare ovunque per…
in:Scripts e tutorials (0 commenti)Questo é un pratico codificatore/decodificatore/decriptatore (chiamatelo come volete) di password inserite nei file di configurazione .ste su dreamweaver function…
in:Scripts e tutorials (0 commenti)Il PageRank è un algoritmo che usa Google per valutare la credibilità e l'autorevolezza delle pagine Web. Il…
in:Scripts e tutorials (8 commenti)Con questo script possiamo limitare il download di un file dal nostro server php; il limite di velocitá…
in:Scripts e tutorials (0 commenti)Alcuni host hanno disabilitati nei settaggi del.ini i comandi allow_url_fopen. Questo significa anche non poter usare i vantaggi…
in:Scripts e tutorials (2 commenti)Gli SHORT URLS fanno ormai parte di quelle cose di internet che ci suonono terribilmente familiari; per capirci…
in:Scripts e tutorials (0 commenti)
