Ce este htaccess si de ce este folositor?

postat acum 2 ani de Stefanescu Mihai in categorie iNoob

.htaccess vine de la Hypertext Access, si acest tip de fisiere nu au nume ci incep cu un punct si nu are un nume, deci decat un punct si o extensie. Acesta este un fisier de configurare pentru serverele Apache si este folosit pentru a configura serverul fara a edita fisierele serverului. Acest fisier are continut text si este folosit pentru a controla folderul in care este salvat.Nota: Acest material este menit sa va prezinte puterea htaccessului si nu este un ghid pe care sa-l urmati mot-a-mot.

Nu uitati sa faceti un back-up inainte de a modifica acest fisier!

La ce putem folosi fisierul .htaccess:

  • Blocarea anumitor adrese IP
  • Pagini de eroare custom
  • Crearea de URL-uri curate si “friendly”
  • Redirect
  • Dezactiveaza listarea folderelor
  • Ascunderea extensiilor fisierelor

Abilitatea de a bloca un anumit IP

Blocarea unui singur IP:
order allow, deny
deny from 192.168.110.100
deny from 235.70.120.110
deny from 131.12.168.85
allow from all

Blocarea mai multor adrese de IP:
order allow, deny
deny from 192.168.
deny from 110.1.1.
allow from all

Pagini de eroare custom

  • 400 – Bad request
  • 401 – Authorization Required
  • 403 – Forbidden
  • 404 – File Not Found
  • 500 – Internal Server Error

ErrorDocument 400 /errors/badrequest.htmll
ErrorDocument 401 /errors/authreq.html
ErrorDocument 403 /errors/forbidden.html
ErrorDocument 404 /errors/filenotfound.html
ErrorDocument 500 /errors/internalservererror.html

Dezactivarea listarii folderelor 

Options All -Indexes

Redirect

ex, de la vechiul-domeniu.ro catre www.noul-domeniu.ro

RewriteEngine on
RewriteCond %{HTTP_HOST} ^vechiul-domeniu.ro
RewriteRule (.*) http://www.noul-domeniu.ro/$1 [R=301,L]

Ascunderea extensiei

De la http://www.siteulmeu.ro/index.html  la  http://www.siteulmeu.ro/index

RewriteEngine on
RewriteRule ^([^/.]+)/?$ $1.html

URL_uri curate si “friendly”

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1

Sunt un tanar programator din Bucuresti ce lucreaza in PHP/Mysql (MySqli/PDO), Laravel, CodeIgniter, MySQL, PostgreSQL, Wordpress, HTML5/CSS3, Sass, Photoshop si multe altele.
Google+ Community Facebook Group
Acest articol a fost mutat de pe vechea platforma.
Pentru orice eroare aparuta la mutare va rog sa ma contactati!
Comentariu postate de Dr. Okun
Frumos tutorial, bravo!
Comentariu postate de Mihai
Multumesc!
Comentariu postate de Silviu Udrea
si ajuta mult si la SEO daca sunt facute setarile corect