Cauta rapid aici ↑

Fisierul .htaccess

Acest fisier este foarte important pentru programatorii web fie ca sunt specializati pe partea de frontend sau backend. Cei din urma cunosc foarte bine rolul si importanta acestui fisier si il folosesc din plin. Acest fisier nu are legatura cu nici-un limbaj ce ruleaza pe frontend sau pe backend si care interactioneaza cu pagina web dar este foarte important pentru serverul unde site-ul web este gazduit.

Observati ca acest fisier nu are nici-un nume, ci doar o simpla extensie. Din acest motiv crearea acestui fisier o vom putea realiza din command prompt sau cu ajutorul editorului de text preferat cu care il vom si edita.

Unul din rolurile fisierului .htaccess este acela de a-i spune serverului sa ascunda extensia documentului ce urmeaza a fi vazut in browser de catre user iar aceasta poate fi .php, .html, asp etc.

Practic lucrurile se intampla un pic diferit si asta pentru ca desi fisierul va avea aceeasi extensie, continutul pe care utilizatorul il va vedea este din fisierul cu acelasi nume si extensie. Din acest motiv putem sa ii afisam utilizatorului un anumit url si continutul altei paginii.

Primul pas este sa ne asiguram ca serverul Apache are modul rewrite activ. Putem vedea acest lucru accesand fisierul httpd.config si cautam randul care contine acest cuvant sau mai exact urmatorul rand → LoadModule rewrite_module modules/mod_rewrite.so ←. Acest rand nu trebuie sa fie comentat iar serverul Apache sa nu incarce acest modul. Putem sa ne asiguram ca acest rand din fisierul httpd.config nu este comentat prin absenta caracterului diez ( # ) de dinaintea randului din fisier.

Urmatorul pas este sa scriem in fisierul .htaccess instructiunile pentru serverul Apache. Prima instructiune este sa activam acest modul. Vom realiza acest lucru cu urmatoarea linie de cod.

RewriteEngine on

Urmatorul pas necesita (dar nu obligatoriu) folosirea cunostintelor despre expresiile regulate pentru a scrie instructiunile pentru server. O astfel de instructiune va incepe cu doua cuvinte ce nu sunt separate de caracterul spatiu si au prima litera scrisa cu litera mare. Dupa aceea vom adauga un spatiu prin care vom separa expresia regulata ce va potrivi doar numele paginii si apoi inca un spatiu si numele paginii cu tot cu extensie. Vom incheia aceasta instructiune cu o pereche de acolade drepte ce contin trei litere ce fac referire la case-insensitive (NC) si la potrivirea ultimului caracter (L). Acestea vor fi separate de virgula si atat, fara nici-un spatiu.

RewriteRule ^(nume-pagina)$ nume-pagina.php [NC,L]

Nu intamplator am adus vorba despre expresiile regulate pentru ca urmatoarea linie de cod va face acelasi lucru pentru toate paginile ce se potrivesc cu expresia regulata.

RewriteRule ^(\w+\-\w+)$ $1.php [NC,L]

Observati ca am folosit doar numele paginii si asta pentru ca fisierul .htacces se afla in directorul unde aceasta pagina este prezenta.

Daca doriti sa aflati mai multe atunci va invit pe pagina oficiala http://httpd.apache.org/docs/current/mod/mod_rewrite.html