Orice dezvoltator de aplicatii web care se respecta trebuie sa cunoasca principiile rescrierii linkurilor.

Ce inseamna “url rewriting”?

Pe romaneste “rescrierea URL-urilor”, reprezinta de fapt o metoda de scriere “on the fly” a URL-urilor, iar mod_rewrite este modulul din Apache care ne permite acest lucru.
mod_rewrite este folosit pentru rescrierea URL-urilor la nivel de server. De exemplu, un utilizator face o cerere pentru htp://www.numesite.com/ro/produse, insa, de fapt, serverul ii va returna htp://www.numesite.com/index.php?language=ro&page=produse. Bineinteles ca utilizatorului ii va fi ascuns acest aspect.
Pentru a intelege mai bine tehnicile de rewriting ar trebui sa explicam cateva notiuni:

De ce este util url rewriting ?

  • imbunatateste gradul de securitate al aplicatiei
  • estetica URL-urilor
  • indexarea mai usoara de catre motoarele de cautare
  • URL-urile vor fi “search engine friendly”
  • URL-urile sunt mai usor de retinut de catre utilizatori

URL rewriting imbunatateste gradul de securitate al aplicatiei

Una din metodele folosite pentru a ataca un site este modificarea parametrilor transmisi prin GET(cu alte cuvinte modificarea URL-ului). Aceasta practica este des utilizata in atacurile “sql injection” care pot afecta grav baza de date a site-ului si integritatea datelor.
Sa zicem ca avem un script care afiseaza produsele dintr-o categorie:

www.numesite.ro/produse.php?id_categorie=123

iar hackerul rau intentionat scrie

www.numesite.ro/produse.php?id_categorie=atac

Aceasta actiune va determina in mod normal o eroare la interogarea ce se efectueaza in baza de date si afisarea acesteia in browser.

URL rewriting face ca URL-urile sa fie “search engine friendly”
Exista mitul care spune ca motoarele de cautare nu indexeaza paginile care contin mai multi parametrii (de tipul www.numesite.ro/pagina.php?categorie=123&produs=321&language=ro ). Este o opinie infirmata de majoritatea motoarelor de cautare insa url rewriting este o tehnica foarte puternica de SEO (Search Engine Optimization).

URL-urile vor fi mai usor de retinut de catre utilizatori

Este mult mai usor de retinut un link de forma

www.numesite.ro/Stiri/Imobiliare/

decat

www.numesite.ro/pagina.php?id=123456789

Utilizatorul va time minte mai usor prima forma a URL-ului si va fi mai simplu de identificat din lista de adrese vizitate a browser-ului, in cazul in care pagina a fost vizitata in prealabil.