SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware
(C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/
URL amigables
Què són les URL amigables?
Les URL amigables o URL amigable són adreces fàcils de recordar per al visitant d'un lloc web,
en alguna oportunitat haurem vist adreces com aquesta:
http://www.latevaempresa.com/productes.php?cod=pro0201&accio=3
Difícil de recordar i familiaritzar-se amb elles veritat? En canvi una URL amigable tindria un
format similar a:
http://www.exabyteinformatica.com/tienda/2913-altavoz-omega-2-0-apollo-fm-radio-sd-usb
La diferència és notòria cert.
Avantatges dels URL amigables
· Són fàcils d'endevinar i són descriptives del contingut.
· Mostren l'estructura del lloc.
· Són fàcils de comunicar verbalment en persona o per telèfon.
· Són suficientment curtes per copiar en un correu electrònic o document.
· Són estètiques per posar en catàlegs, fullets i altres documents.
· Són fàcils de recordar i escriure.
· Promouen la usabilitat evitant ser llargues i complexes.
Però el més important és que els cercadors com Google les indexen més fàcilment i donen
millors resultats de cerca.
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware
(C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/
Com fem URL amigables amb PHP
Per a això és necessari que el nostre servidor a més de suportar PHP tingui actiu el mòdul
“*Rewrite Rules”, encara que la majoria de servidors actuals ho tenen és bo verificar-ho
primer, en cas contrari ens trencarem el cap amb els errors que ens donen, després creem un
arxiu .htaccess amb un contingut similar a aquest:
*Options +*FollowSymLinks
*RewriteEngine *On
*RewriteCond %{*SCRIPT_*FILENAME} !-d
*RewriteCond %{*SCRIPT_*FILENAME} !-f
*RewriteRule ^productes/(d+)*$ ./*product.*php?aneu=$1
El *script emmascara una adreça com *product.*php?aneu=1234 en
productes/1234/*elmeuproducte, on *RewriteCond ens permet verificar que no s'aplica si
existís realment aquesta carpeta o arxiu.
Aquesta és la forma més simple d'usar URL amigables encara que també és possible usant PHP.
Què succeeix amb les rutes relatives?
Si uses rutes amigables del tipus elmeulloc.com/categoria/elmeuproducte
Les rutes relatives que abans cridaven a les imatges, fulles d'estil i javascript deixen de
funcionar ja que s'assumeix que estàs dins d'una carpeta. La solució més simple
desafortunadament no funciona bé en IE6.
Aquesta simple línia de codi fa que el navegador s'oblidi de la teva ruta actual i únicament usi
el path que assignes.
Ja que la solució més pràctica no és creuar el navegador, cal canviar tot a rutes absolutes. Per
no haver de fer-ho a mà per a això es crea una constant amb el nostre path absolut:
define(“_*mipath”, “http://www.elmeulloc.com/”)
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware
(C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/
I per afegir-ho als nostres arxius seria:
<img src=”*lamevaimatge.jpg”>
PHP: Url’s amigables
El primer hem d'assegurar-nos de tenir actiu el mòdul *mod_rewrite en cas contrari donarà un
error “*Internal Server Error” o simplement no funcionarà, després vam crear un arxiu .htacess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /lamevacarpeta/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Primer verifiquem el mod_rewrite després assignem la RewriteBase és a dir, la carpeta on
tenim els arxius del nostre lloc web, si es tractés de www.elmeulloc.com aquesta línia seria:
RewriteBase /
Les 2 últimes línies ens diuen que d'existir aquest arxiu o carpeta s'oblidi de la URL amigable i
usi aquests arxius.
Creant “pagina.html”
Afegim en el nostre arxiu .htacess:
RewriteRule (.*).html$ index.php?page=$1
Això genera una equivalència:
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware
(C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/
index.php?page=lamevapagina
lamevapagina.html
Per emular carpetes
Afegim en el nostre arxiu .htacess:
RewriteRule /local/(.*)/ index.php?page=local&link=$1
RewriteRule local/(.*)*index.php?page=local&link=$1
Això genera una equivalència:
Index.php?page=local&link=bar-sant-Josep
www.elmeulloc.com/local/bar-sant-Josep/
La quantitat de paràmetres i de noms de les variables depèn de cada cas en concret.
Ús de les variables
Totes les variables GET que hem creat tant amb URL amigables com sense, mantenen els seus
noms. Per exemple en el cas:
index.php?page=local&link=bar-sant-Josep
www.elmeulloc.com/local/bar-sant-Josep/
Les variables creades en ambdues adreces són: page que té el valor local i la variable link que
té el valor bar-sant-Josep
Hem de tenir clar que amb les URL amigables, l'única cosa que estem fent és disfressar l'adreça
però aquesta disfressa altera les rutes relatives pel que possiblement fallin totes les
Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware
(C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/
invocacions a fulles d'estils, javascripts i imatges que s'hagin fet sense usar una ruta absoluta,
per arreglar això hi ha 2 possibles solucions:
Alterant la ruta base (basepath)
Aquesta és la solució que més s'utilitza a causa de que l'altra solució pot no funcionar en
alguns navegadors especialment en els antics (IE6 per exemple), el que fem és guardar la ruta
absoluta en una constant que després usarem cada vegada que invoquem una imatge, css o
javascript:
define(“_*path”, “http://elmeulloc.com/”);
// Per invocar una imatge per exemple
<img src=”lamevaimatge.jpg” />
D'aquesta manera hi ha algunes variants usant short open tags, templates, funcions, etc però
la idea bàsica és la mateixa.

Más contenido relacionado

Similar a Url amigables

Lenguatges i Estàndarts web Pac02
Lenguatges i Estàndarts web Pac02Lenguatges i Estàndarts web Pac02
Lenguatges i Estàndarts web Pac02Marcos Baldovi
 
Dai 09-ruby on rails
Dai 09-ruby on railsDai 09-ruby on rails
Dai 09-ruby on railsCarles Mateu
 
Dai 9 - Ruby on Rails
Dai 9 - Ruby on RailsDai 9 - Ruby on Rails
Dai 9 - Ruby on RailsCarles Mateu
 
Cas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries LliuresCas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries LliuresJordi Catà
 
Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...
Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...
Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...Paquita Ribas
 
Wordpress, present i futur?
Wordpress, present i futur?Wordpress, present i futur?
Wordpress, present i futur?Josep Comas
 
SIGT09 Introducció Joomla
SIGT09 Introducció JoomlaSIGT09 Introducció Joomla
SIGT09 Introducció JoomlaAlex Araujo
 
Presentacio Django
Presentacio DjangoPresentacio Django
Presentacio DjangoAntoni Aloy
 
Llenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita Ribas
Llenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita RibasLlenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita Ribas
Llenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita RibasPaquita Ribas
 
Guia per a l'optimitzacio de les cerques de Google
Guia per a l'optimitzacio de les cerques de GoogleGuia per a l'optimitzacio de les cerques de Google
Guia per a l'optimitzacio de les cerques de GoogleJordi Juan Pérez kukat
 
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita RibasPaquita Ribas
 
Construcció de pàgines web
Construcció de pàgines webConstrucció de pàgines web
Construcció de pàgines webMarketing per tu
 
Lenguatges i Estàndarts web Pac01
Lenguatges i Estàndarts web Pac01Lenguatges i Estàndarts web Pac01
Lenguatges i Estàndarts web Pac01Marcos Baldovi
 

Similar a Url amigables (20)

Lenguatges i Estàndarts web Pac02
Lenguatges i Estàndarts web Pac02Lenguatges i Estàndarts web Pac02
Lenguatges i Estàndarts web Pac02
 
Dai 09-ruby on rails
Dai 09-ruby on railsDai 09-ruby on rails
Dai 09-ruby on rails
 
Dai 9 - Ruby on Rails
Dai 9 - Ruby on RailsDai 9 - Ruby on Rails
Dai 9 - Ruby on Rails
 
Cas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries LliuresCas d’us de Framework web desenvolupat amb llibreries Lliures
Cas d’us de Framework web desenvolupat amb llibreries Lliures
 
Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...
Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...
Llenguatges i Estàndards Web - PAC 1 correccció - Multimedia (UOC) - Paquita ...
 
Wordpress, present i futur?
Wordpress, present i futur?Wordpress, present i futur?
Wordpress, present i futur?
 
Presentació del servidor Apache
Presentació del servidor ApachePresentació del servidor Apache
Presentació del servidor Apache
 
Dues tecniques SEO de programació web
Dues tecniques SEO de programació webDues tecniques SEO de programació web
Dues tecniques SEO de programació web
 
SIGT09 Introducció Joomla
SIGT09 Introducció JoomlaSIGT09 Introducció Joomla
SIGT09 Introducció Joomla
 
Presentacio Django
Presentacio DjangoPresentacio Django
Presentacio Django
 
Llenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita Ribas
Llenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita RibasLlenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita Ribas
Llenguatges i Estàndards Web - PAC 1 - Multimedia (UOC) - Paquita Ribas
 
Curs wordpress definitiu
Curs wordpress definitiuCurs wordpress definitiu
Curs wordpress definitiu
 
Guia per a l'optimitzacio de les cerques de Google
Guia per a l'optimitzacio de les cerques de GoogleGuia per a l'optimitzacio de les cerques de Google
Guia per a l'optimitzacio de les cerques de Google
 
Presentació de PHP
Presentació de PHPPresentació de PHP
Presentació de PHP
 
Curs de Wordpress avançat
Curs de Wordpress avançatCurs de Wordpress avançat
Curs de Wordpress avançat
 
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita RibasProgramació  Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
Programació Web - PAC 2 correcció - Multimèdia (UOC) - Paquita Ribas
 
Construcció de pàgines web
Construcció de pàgines webConstrucció de pàgines web
Construcció de pàgines web
 
Lenguatges i Estàndarts web Pac01
Lenguatges i Estàndarts web Pac01Lenguatges i Estàndarts web Pac01
Lenguatges i Estàndarts web Pac01
 
Html 5
Html 5Html 5
Html 5
 
Wordpress bàsic - Olot 2011
Wordpress bàsic - Olot 2011Wordpress bàsic - Olot 2011
Wordpress bàsic - Olot 2011
 

Más de Roger Casadejús Pérez

Presentació de Wordpress fins a la 3.5.1
Presentació de Wordpress fins a la 3.5.1Presentació de Wordpress fins a la 3.5.1
Presentació de Wordpress fins a la 3.5.1Roger Casadejús Pérez
 
Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Roger Casadejús Pérez
 

Más de Roger Casadejús Pérez (20)

Presentació de Wordpress fins a la 3.5.1
Presentació de Wordpress fins a la 3.5.1Presentació de Wordpress fins a la 3.5.1
Presentació de Wordpress fins a la 3.5.1
 
Presentació de Facebook
Presentació de FacebookPresentació de Facebook
Presentació de Facebook
 
Presentació de Twitter
Presentació de TwitterPresentació de Twitter
Presentació de Twitter
 
Presentació del protocol TCP/IP
Presentació del protocol TCP/IPPresentació del protocol TCP/IP
Presentació del protocol TCP/IP
 
Presentació de la història de Google
Presentació de la història de GooglePresentació de la història de Google
Presentació de la història de Google
 
Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5
 
Presentació de Virtual box
Presentació de Virtual boxPresentació de Virtual box
Presentació de Virtual box
 
Presentació històrica del VHS
Presentació històrica del VHSPresentació històrica del VHS
Presentació històrica del VHS
 
Ps3 slim al descobert
Ps3 slim al descobertPs3 slim al descobert
Ps3 slim al descobert
 
Presentació de Playstation 3
Presentació de Playstation 3Presentació de Playstation 3
Presentació de Playstation 3
 
Què és W3C?
Què és W3C?Què és W3C?
Què és W3C?
 
Sitemap.xml i robots.txt
Sitemap.xml i robots.txtSitemap.xml i robots.txt
Sitemap.xml i robots.txt
 
Seo: Com triomfar en els buscadors?
Seo: Com triomfar en els buscadors?Seo: Com triomfar en els buscadors?
Seo: Com triomfar en els buscadors?
 
Què és i com funciona el pagerank?
Què és i com funciona el pagerank?Què és i com funciona el pagerank?
Què és i com funciona el pagerank?
 
Zona DMZ
Zona DMZZona DMZ
Zona DMZ
 
Presentació de spoofing
Presentació de spoofingPresentació de spoofing
Presentació de spoofing
 
IP brick
IP brickIP brick
IP brick
 
Presentació de Smoothwall
Presentació de SmoothwallPresentació de Smoothwall
Presentació de Smoothwall
 
Presentació històrica de Visual.NET
Presentació històrica de Visual.NETPresentació històrica de Visual.NET
Presentació històrica de Visual.NET
 
Presentació de MySQL
Presentació de MySQLPresentació de MySQL
Presentació de MySQL
 

Url amigables

  • 1. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware (C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/ URL amigables Què són les URL amigables? Les URL amigables o URL amigable són adreces fàcils de recordar per al visitant d'un lloc web, en alguna oportunitat haurem vist adreces com aquesta: http://www.latevaempresa.com/productes.php?cod=pro0201&accio=3 Difícil de recordar i familiaritzar-se amb elles veritat? En canvi una URL amigable tindria un format similar a: http://www.exabyteinformatica.com/tienda/2913-altavoz-omega-2-0-apollo-fm-radio-sd-usb La diferència és notòria cert. Avantatges dels URL amigables · Són fàcils d'endevinar i són descriptives del contingut. · Mostren l'estructura del lloc. · Són fàcils de comunicar verbalment en persona o per telèfon. · Són suficientment curtes per copiar en un correu electrònic o document. · Són estètiques per posar en catàlegs, fullets i altres documents. · Són fàcils de recordar i escriure. · Promouen la usabilitat evitant ser llargues i complexes. Però el més important és que els cercadors com Google les indexen més fàcilment i donen millors resultats de cerca.
  • 2. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware (C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/ Com fem URL amigables amb PHP Per a això és necessari que el nostre servidor a més de suportar PHP tingui actiu el mòdul “*Rewrite Rules”, encara que la majoria de servidors actuals ho tenen és bo verificar-ho primer, en cas contrari ens trencarem el cap amb els errors que ens donen, després creem un arxiu .htaccess amb un contingut similar a aquest: *Options +*FollowSymLinks *RewriteEngine *On *RewriteCond %{*SCRIPT_*FILENAME} !-d *RewriteCond %{*SCRIPT_*FILENAME} !-f *RewriteRule ^productes/(d+)*$ ./*product.*php?aneu=$1 El *script emmascara una adreça com *product.*php?aneu=1234 en productes/1234/*elmeuproducte, on *RewriteCond ens permet verificar que no s'aplica si existís realment aquesta carpeta o arxiu. Aquesta és la forma més simple d'usar URL amigables encara que també és possible usant PHP. Què succeeix amb les rutes relatives? Si uses rutes amigables del tipus elmeulloc.com/categoria/elmeuproducte Les rutes relatives que abans cridaven a les imatges, fulles d'estil i javascript deixen de funcionar ja que s'assumeix que estàs dins d'una carpeta. La solució més simple desafortunadament no funciona bé en IE6. Aquesta simple línia de codi fa que el navegador s'oblidi de la teva ruta actual i únicament usi el path que assignes. Ja que la solució més pràctica no és creuar el navegador, cal canviar tot a rutes absolutes. Per no haver de fer-ho a mà per a això es crea una constant amb el nostre path absolut: define(“_*mipath”, “http://www.elmeulloc.com/”)
  • 3. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware (C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/ I per afegir-ho als nostres arxius seria: <img src=”*lamevaimatge.jpg”> PHP: Url’s amigables El primer hem d'assegurar-nos de tenir actiu el mòdul *mod_rewrite en cas contrari donarà un error “*Internal Server Error” o simplement no funcionarà, després vam crear un arxiu .htacess <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /lamevacarpeta/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Primer verifiquem el mod_rewrite després assignem la RewriteBase és a dir, la carpeta on tenim els arxius del nostre lloc web, si es tractés de www.elmeulloc.com aquesta línia seria: RewriteBase / Les 2 últimes línies ens diuen que d'existir aquest arxiu o carpeta s'oblidi de la URL amigable i usi aquests arxius. Creant “pagina.html” Afegim en el nostre arxiu .htacess: RewriteRule (.*).html$ index.php?page=$1 Això genera una equivalència:
  • 4. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware (C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/ index.php?page=lamevapagina lamevapagina.html Per emular carpetes Afegim en el nostre arxiu .htacess: RewriteRule /local/(.*)/ index.php?page=local&link=$1 RewriteRule local/(.*)*index.php?page=local&link=$1 Això genera una equivalència: Index.php?page=local&link=bar-sant-Josep www.elmeulloc.com/local/bar-sant-Josep/ La quantitat de paràmetres i de noms de les variables depèn de cada cas en concret. Ús de les variables Totes les variables GET que hem creat tant amb URL amigables com sense, mantenen els seus noms. Per exemple en el cas: index.php?page=local&link=bar-sant-Josep www.elmeulloc.com/local/bar-sant-Josep/ Les variables creades en ambdues adreces són: page que té el valor local i la variable link que té el valor bar-sant-Josep Hem de tenir clar que amb les URL amigables, l'única cosa que estem fent és disfressar l'adreça però aquesta disfressa altera les rutes relatives pel que possiblement fallin totes les
  • 5. Més manuals a: http://www.exabyteinformatica.com/manuales-y-apuntes-freeware (C) Roger Casadejús Pérez | http://www.exabyteinformatica.com/tienda/ invocacions a fulles d'estils, javascripts i imatges que s'hagin fet sense usar una ruta absoluta, per arreglar això hi ha 2 possibles solucions: Alterant la ruta base (basepath) Aquesta és la solució que més s'utilitza a causa de que l'altra solució pot no funcionar en alguns navegadors especialment en els antics (IE6 per exemple), el que fem és guardar la ruta absoluta en una constant que després usarem cada vegada que invoquem una imatge, css o javascript: define(“_*path”, “http://elmeulloc.com/”); // Per invocar una imatge per exemple <img src=”lamevaimatge.jpg” /> D'aquesta manera hi ha algunes variants usant short open tags, templates, funcions, etc però la idea bàsica és la mateixa.