Your SlideShare is downloading. ×

Url amigables

99

Published on

Que són les URL amigables? …

Que són les URL amigables?

Més manuals a: http://www.exabyteinformatica.com

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
99
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 amigablesQuè són les URL amigables?Les URL amigables o URL amigable són adreces fàcils de recordar per al visitant dun lloc web,en alguna oportunitat haurem vist adreces com aquesta:http://www.latevaempresa.com/productes.php?cod=pro0201&accio=3Difícil de recordar i familiaritzar-se amb elles veritat? En canvi una URL amigable tindria unformat similar a:http://www.exabyteinformatica.com/tienda/2913-altavoz-omega-2-0-apollo-fm-radio-sd-usbLa diferència és notòria cert.Avantatges dels URL amigables· Són fàcils dendevinar i són descriptives del contingut.· Mostren lestructura 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 donenmillors 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 PHPPer 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-hoprimer, en cas contrari ens trencarem el cap amb els errors que ens donen, després creem unarxiu .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=$1El *script emmascara una adreça com *product.*php?aneu=1234 enproductes/1234/*elmeuproducte, on *RewriteCond ens permet verificar que no saplica siexistís realment aquesta carpeta o arxiu.Aquesta és la forma més simple dusar URL amigables encara que també és possible usant PHP.Què succeeix amb les rutes relatives?Si uses rutes amigables del tipus elmeulloc.com/categoria/elmeuproducteLes rutes relatives que abans cridaven a les imatges, fulles destil i javascript deixen defuncionar ja que sassumeix que estàs dins duna carpeta. La solució més simpledesafortunadament no funciona bé en IE6.Aquesta simple línia de codi fa que el navegador soblidi de la teva ruta actual i únicament usiel path que assignes.Ja que la solució més pràctica no és creuar el navegador, cal canviar tot a rutes absolutes. Perno 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 amigablesEl primer hem dassegurar-nos de tenir actiu el mòdul *mod_rewrite en cas contrari donarà unerror “*Internal Server Error” o simplement no funcionarà, després vam crear un arxiu .htacess<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /lamevacarpeta/RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dPrimer verifiquem el mod_rewrite després assignem la RewriteBase és a dir, la carpeta ontenim 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 dexistir aquest arxiu o carpeta soblidi de la URL amigable iusi aquests arxius.Creant “pagina.html”Afegim en el nostre arxiu .htacess:RewriteRule (.*).html$ index.php?page=$1Això 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=lamevapaginalamevapagina.htmlPer emular carpetesAfegim en el nostre arxiu .htacess:RewriteRule /local/(.*)/ index.php?page=local&link=$1RewriteRule local/(.*)*index.php?page=local&link=$1Això genera una equivalència:Index.php?page=local&link=bar-sant-Josepwww.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 variablesTotes les variables GET que hem creat tant amb URL amigables com sense, mantenen els seusnoms. Per exemple en el cas:index.php?page=local&link=bar-sant-Josepwww.elmeulloc.com/local/bar-sant-Josep/Les variables creades en ambdues adreces són: page que té el valor local i la variable link queté el valor bar-sant-JosepHem de tenir clar que amb les URL amigables, lúnica cosa que estem fent és disfressar ladreçaperò 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 destils, javascripts i imatges que shagin 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 sutilitza a causa de que laltra solució pot no funcionar enalguns navegadors especialment en els antics (IE6 per exemple), el que fem és guardar la rutaabsoluta en una constant que després usarem cada vegada que invoquem una imatge, css ojavascript:define(“_*path”, “http://elmeulloc.com/”);// Per invocar una imatge per exemple<img src=”lamevaimatge.jpg” />Daquesta manera hi ha algunes variants usant short open tags, templates, funcions, etc peròla idea bàsica és la mateixa.

×