Tutorial – Ce este htaccess? – Web Design

Serverul de web Apache utilizează un sistem de acces și configurare prin intermediul căruia utilizatorii pot modifica și controla mai multe caracteristici ale unui site, prin crearea de fișiere .htaccess.

Un fișier .htaccess este un simplu fișier text ce conține comenzi, denumite directive Apache. Aceste directive se aplică și afectează fișierele din directorul în care se afla fișierul .htaccess precum și subdirectoarelor acelui director.
Fișierele de tip .htaccess trebuie puse pe ftp în format ASCII mode și nu BINARY.

Dacă puneți un fișier “.htaccess” în directorul root al siteului, acesta va afecta și subdirectoarele, dacă acestea nu au câte un fișier .htaccess. Dacă în .htaccess aveți setate niște reguli pentru directorul corespunzător “site.ro”, atunci vor fi afectate și subdirectoarele corespunzătoare “site.ro/director1″ sau “site.ro/director2″.
Dacă doriți setări diferite pentru fiecare subdirector, puteți pune câte un fișier .htaccess în fiecare director. Un subdirector va fi afectat de cel mai aproape .htaccess.

Ce pot face utilizând fișierele .htaccess?

Fișierele .htaccess pot fi unelte foarte puternice. Mai jos găsești câteva lucruri care pot fi obținute utilizând .htaccess:

  • directoare protejate cu parolă,
  • setare pagini erori personalizate,
  • dezactivare listare director (directory listings),
  • specificare fișier index alternativ,
  • blocarea accesului vizitatorilor pe bază de adresa IP,
  • prevenire furt bandă prin utilizarea ‘hotlink’,
  • redirecționare automată către anumite pagini …

Unele dintre aceste caracteristici (protecție parolă, pagini erori personalizabile, tipuri MIME) au fost automatizate prin intermediul panoului de control al contului de găzduire și pot fi utilizate fără a crea manual fișiere .htaccess. Oricum, celelalte trebuiesc implementate manual de către deținătorul contului.

Setare pagini erori personalizate

Există mai multe coduri de erori, cum ar fi:

   Cereri acceptate cu succes
200 OK
201 Created
202 Accepted
203 Non-Authorative Information
204 No Content
205 Reset Content
206 Partial Content
   Cereri de client redirecționate
300 Multiple choices
301 Moved Permanently
302 Moved Temporarly
303 See Other
304 Not Modified
305 Use Proxy
   Cereri de client eronate
400 Bad request
401 Authorisation Required
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable (encoding)
407 Proxy Authentification Required
408 Request Timed Out
409 Conflicting Request
410 Gone
411 Content Lenght Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
   Erori de server
500 Internat Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported

Unele din cele mai frecvente erori sunt:

  • 401 – Authorization required – atunci când cineva încearcă să intre într-o zonă unde nu are destul acces,
  • 403 – Forbidden – atunci când un utilizator nu are acces la un anume fișier,
  • 400 – Bad request – atunci când cineva încearcă să manipuleze URL-ul sau scripturile paginii web

Cu .htaccess putem creea pagini personalizate ce se afișează atunci când se întâlnește o eroare.

De exemplu:

ErrorDocument 400 /badrequest.html
ErrorDocument 401 /auhreqd.html
ErrorDocument 403 /forbid.html
ErrorDocument 404 /notfound.html
ErrorDocument 500 /serverr.html
…………..
Creem aceste fișiere unde punem codul ce se va executa și afișa când se întâlnește eroarea respectivă.

Protecție cu parolă, folosind .htaccess

Cu un fișier de .htaccess putem proteja un director cu parolă. Pentru a proteja un director cu parolă trebuie să creăm un fișier numit “.htpasswd”, apoi în fișierul htaccess este introdus username și parola (este criptată).

Exemplu:
AuthUserFile fișier_cu_parole/.htpasswd
AuthName “Mesaj_autentificare”
AuthType Basic
require user user_name
user_name este user-ul care dorim ca browserul să-l accepte ca un nume valid pentru parolă. Dacă sunt mai mulți useri ce pot să acceseze directorul ultima linie se va scrie astfel:
require valid-user

Conținutul fișierul .htpasswd este de forma:

user1:parola_pentru_user1_criptata_cu_md5
user2:parola_pentru_user2_criptata_cu_md

…… (se pot adăuga oricâți useri)
Pentru ca această modalitate de protecție să funcționeze este necesară și o modificare în fișierul de configurare
httpd.conf a serverului, astfel:
AllowOverride None se inlocuieste cu AllowOverrideAll

Alte instrucțiuni utile:

Pentru a permite accesul doar de la un anumit IP se adaugă această linie în fișierul .htaccess:
allow from xxx.xxx.xxx.xxx, unde xxx.xxx.xxx.xxx este adresă IP care are acces la site.

Pentru a bloca accesul unui IP se adaugă:
deny from xxx.xxx.xxx.xxx

Dacă se dorește interzicerea accesului pentru orice vizitator:
deny from all

Dacă dorim redirecționarea către o altă locație se adaugă următoarea linie în .htaccess:
Redirect calea_fisier/fisier_actual.ext http://www.site_nou.ro/fisier_nou.ext

Pentru redirecționarea oricărui fișier dintr-un director accesat către un alt fișier:
Redirect cale_director/director_actual http://www.site_nou.ro/director_nou

Împiedicați accesul la un director fără index

Dacă nu aveți nici un fișier index în unele directoare, în cazul în care directorul este accesat, va fi afișată toată lista fișierelor din acel director. Pentru a împiedica această situație puteți introduce o comandă în fișierul .htaccess:
Options -Indexes

Vă mulțumesc pentru că ați citit acest tutorial, aștept comentariul dumneavoastră!  😉

2.949 Vizitatori

Cât de utilă a fost această postare?

Dați click pe o stea pentru a evalua acestă postare!

Rată medie 0 / 5. Număr de voturi: 0

Nu există voturi până acum! Fii prima persoană care evaluează acestă postare.

Îmi pare rău că această postare nu a fost utilă pentru tine!

Să îmbunătățim acest postare!

Spune-mi cum pot îmbunătăți această postare?

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.