O alternativa la .htaccess – url rewrite
in Funny, Php, mysql si altele, Web - 07.10.2009
Azi am vazut cea mai tare solutie posibila de url rewrite. Pentru cine nu stie ce este aceea url rewrite, sunt acele link-uri “frumoase” dintr-un site. De exemplu: www.site.ro/notebook-toshiba/123 in loc de www.site.ro/produs.php?id=123. Aceasta rescriere a linki-urilor este o solutie eleganta care face calea linkurilor mai usor descifrabila dar care si ajuta la optimizare.
Acest lucru se face foarte usor folosind un fisier .htaccess pe server in care se scrie urmatoarea regula (pentru exemplul de mai sus):
RewriteRule ^([^/\.]+)/([0-9]+)$ produs.php?id=$2 [L]
Adica i se spune serverului ca orice link de forma www.site.ro/text/numar sa duca catre fisierul produs.php?id=numar, textul nu ne intereseaza neaparat.
Foarte clar si foarte simplu de implementat. Cam toate site-urile in ziua de azi folosesc asa ceva.
Dar exista si o alternativa!!! Am vazut azi prin scripturile unui site urmatoarele link-uri www.site.ro/categorii/un-nume-de-categorie.php, sau www.site.ro/produs/un-nume-de-produs.php. La prima vedere pare a fi folosit un .htaccess, dar ce rost mai are acel “.php” la sfarsit? Dupa care am tras concluzia ca nu exista nici o regula si ca defapt fiecare produs are un fisier si ca practic site-ul ar fi in totatitate static. Insa am gasit o mare baza de date cu multe categorii si produse. Am zis ca nu se poate, exista o baza de date, trebuie sa fie si un .htaccess sau o regula de rescriere… Ei bine, nu exista… dar nici paginile nu sunt statice…
Care este de fapt implementarea rescrierii de url? Cand se adauga un produs sau o categorie in baza de date, scriptul respectiv creeaza un fisier .php in folderul de pe server /categorii, respectiv /produse care are ca nume titlul cu – in loc de spatii al produsului/categoriei respective. In acest fisier scriptul scrie o bucatica de cod (3 randuri) care include un alt fisier din folderul radacina in care se face de fapt afisarea.
In concluzie, cate produse erau in baza de date, atatea fisiere erau in folderul /produse, fisiere care contineau toate aceleasi 3 linii de cod, care includeau un alt fisier care facea afisarea… Interesanta abordare nu? Poate chiar unica… :)
Am uitat sa va zic… site-ul a fost facut si lansat in iunie 2009. Dpdv al programarii, cel care a dezvoltat site-ul nu era chiar la pamant… dar sa nu stii tu de .htaccess…






Foarte tare asta, parerea mea era ca trebuia sa foloseasca .htaccess . Destul de ingenios, nici eu n-am mai intalnit-o.
Dar ma gandesc ca poate avea 50 de produse, dar daca avea 1000 ? Sau daca schimba numele unui produs ? Nu cred ca e cea mai buna abordare, insa este in mod sigur unica
Mda… htaccess era cea mai buna solutie, dar se pare ca respectivul nu a auzit de asa ceva :))
haha ! ai link catre azourre :D
Btw – mai am un pic si lansez versiunea a doua, totodata cu asta si site-ul oficial
Cum sa nu am link :) Daca imi dai un logo pun si ca reclama.
Multa bafta la lansare…
O sa gasesc eu bug-uri si intru in el si ti-l “hackaresc”…
Muahahahahaa