Intr-un articol precedent, publicat aici, am descris modul in care pot fi scrise adrese URL "prietenoase" folosind fisierul .htaccess. Evident, nu este singurul lucru care poate fi facut iar in continuare ma voi ocupa si de altele, din nou nu de toate, ci de acelelea pe care orice dezvoltator web ar trebui sa le stie.

.htaccess (hypertext acces) este un fisier de configurare pentru un server Apache. El este un fisier ascuns si are rolul de a adapta configurarile serverului (descrise in httpd.conf si php.ini) doar la folderul in care este pus si la subfolderele acestuia. .htaccess este un fisier text neformatat, deci teoretic ar putea fi editat cu un editor obisnuit de texte, dar daca remarcati punctul de extensie de la inceputul numelui lui, utilizarea lui Notepad nu este indicata decat daca salvati cu numele ".htaccess" (cu ghilimele). Din aceleasi motive, in Windows, un fisier text oarecare nu poate fi redenumit in .htaccess.

In mod obisnuit fisierul nu se afla in radacina hostingului dumneavoastra fiind rolul dumneavoastra sa-l creati si sa-l ridicati pe server.

Nu trebuie sa exagerati cu utilizarea acestui fisier. In exces, dauneaza serverului sau chiar poate conduce la nefunctionarea acestuia. Folositi-l doar daca nu puteti rezolva altfel problema.

Si acum, dati click pe link-ul de mai jos ca sa aflati ce se poate face.

Problema I

Google penalizeaza duplicarea continutului: continutul aceleasi pagini sa fie accesabil de pe adrese URL diferite, de exemplu, exemplu.com si www.exemplu.com

Solutie

Se creaza sau se modifica fisierul .htaccess in felul urmator:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.exemplu\.com$ [NC]
RewriteRule .? http://www.exemplu.com%{REQUEST_URI} [R=301,L]

#sau, la alegere

RewriteCond %{HTTP_HOST} !^www.exemplu.com$ [NC]
RewriteRule ^(.*)$ http://www.exemplu.com/$1 [L,R=301]
            

Problema II

Interzicerea vizualizarii continutului unui subdirector. Daca cineva tasteaza www.exemplu.com/images, ar putea sa vada continutul directorului images, lucru care este daunator la securitate. Se poate folosi si un fizier gol index.html, dar ar trebui cate unul in fiecare subdirector.

Solutie

Este solutie pentru toate subdirectoarele site-ului dumneavoastra. Se creaza sau se modifica fisierul .htaccess in felul urmator:

Options All -Indexes
            

Problema III

Transforma o adresa de forma exemplu.com/cosmetice/sapun.html in exemplu.com/sapun.html.

Solutie

Se creaza sau se modifica fisierul .htaccess in felul urmator:

RewriteEngine On
RewriteRule ^cosmetice/(.+)$ http://www.exemplu.com/$1 [R=301,L]
            

Problema IV

Redirectarea unui domeniu vechi la unul nou pentru a nu pierde pozitia castigata in Google cu cel vechi.

Solutie

In principiu se mapeaza numele domeniului vechi pe cel nou. Se creaza sau se modifica fisierul .htaccess in felul urmator:

RewriteEngine On
RewriteRule ^(.*)$ http://www.domainname.com/$1 [R=301,L]
            

Problema V

Modificarea numelui paginii implicite. Permite inlocuirea paginii index cu orice alt nume, de exemplu about.

Solutie

Se creaza sau se modifica fisierul .htaccess in felul urmator:

DirectoryIndex about.html
            

Problema VI

Protejarea unei pagini, de exemplu .htacces.

Solutie

Se creaza sau se modifica fisierul .htaccess in felul urmator:

order allow,deny
deny from all

            

Problema VII

Banarea unor IP-uri.

Solutie

Se creaza sau se modifica fisierul .htaccess in felul urmator:

allow from all
deny from 192.168.0.1
deny from 192.168
            

Problema VIII

Pagini de eroare personalizate pentru 401, 403 etc.

Solutie

Se creaza sau se modifica fisierul .htaccess in felul urmator:

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
            

Observatii

Scrierea unei reguli RewriteRule va afecta si subdirectoarele. In aceste directoare veti scrie alte fisiere .htaccess cu reguli corespunzatoare.

Informatii complete despre fisierul .htacces gasiti pe site-ul oficial Apache.

Voi reveni cu informatii suplimentare despre utilizarea acestui fisier.

Multe multumiri...

Internetului ca exista si celor care ne mai spun pe gratis cate ceva, chiar daca i-a costat mult timp sa invete!