url amigables

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

Upload: roger-casadejus-perez

Post on 26-Jan-2015

107 views

Category:

Documents


3 download

DESCRIPTION

Que són les URL amigables? Més manuals a: http://www.exabyteinformatica.com

TRANSCRIPT

Page 1: Url amigables

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.

Page 2: Url amigables

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/”)

Page 3: Url amigables

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:

Page 4: Url amigables

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

Page 5: Url amigables

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.