Dacă executați un site web pe un server Apache, fișierul .htaccess este unul dintre cele mai puternice instrumente pe care le aveți la dispoziție. Acesta vă permite să controlați modul în care se comportă URL-urile dvs. – de la redirecționări la rescrierea curată a URL-urilor – fără a fi nevoie să modificați configurația efectivă a serverului.

În acest articol, vom acoperi elementele de bază ale redirecționării și rescrierii URL-urilor utilizând .htaccess, cu exemple și explicații clare.

Ce este fișierul .htaccess?

.htaccess vine de la Hypertext Access. Este un fișier de configurare utilizat pe serverele web bazate pe Apache care vă permite să efectuați modificări la nivel de director pentru comportamentul serverului.

Puteți:

  • Redirecționați traficul de la o adresă URL la alta

  • Creați URL-uri curate (de exemplu, /about în loc de /about.php)

  • Să restricționați accesul la anumite pagini

  • Activați HTTPS

  • Și multe altele

Redirecționarea URL-urilor

1. redirecționare permanentă 301

Utilizați această opțiune atunci când o pagină a fost mutată permanent la un nou URL.

Redirecționați 301 /old-page.html https://yourdomain.com/new-page.html

2. 302 Redirecționare temporară

Utilizați această opțiune atunci când redirecționarea este temporară.

Redirecționare 302 /temp-page.html https://yourdomain.com/coming-soon.html

3. Redirecționarea cu mod_rewrite

De asemenea, puteți redirecționa utilizând RewriteRule:

RewriteEngine On
RewriteRule ^old-page$ https://yourdomain.com/new-page [R=301,L]

Rescrierea URL-urilor (Clean URLs)

Rescrierea URL-urilor este utilizată pentru a face URL-urile mai ușor de utilizat și mai SEO. De exemplu, în loc de:

https://example.com/product.php?id=123

Puteți utiliza:

https://example.com/product/123

1. Regula de bază a rescrierii

RewriteEngine On
RewriteRule ^product/([0-9] )$ product.php?id=$1 [L]

Aceasta îi spune lui Apache:

  • Când cineva accesează /product/123

  • Îl rescrie intern la product.php?id=123

2. Eliminați extensia .php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.] )$ $1.php [L]

Acest lucru permite utilizatorilor să acceseze example.com/about în loc de example.com/about.php.

Cele mai bune practici

  • Faceți întotdeauna o copie de rezervă a fișierului .htaccess înainte de a face modificări.

  • Utilizați [L] pentru a opri procesarea altor reguli odată ce se găsește o potrivire.

  • Testați-vă redirecționările cu instrumente precum httpstatus.io.

  • Nu amestecați Redirect și RewriteRule prea mult în același bloc – preferați RewriteRule pentru coerență.

Bonus: Forțați HTTPS cu .htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Acest lucru forțează tot traficul să utilizeze HTTPS – esențial pentru securitatea modernă și SEO.

Concluzii

Fișierul .htaccess vă oferă un control incredibil asupra modului în care funcționează URL-urile dumneavoastră. Fie că redirecționați pagini vechi, curățați URL-uri murdare sau vă securizați traficul, stăpânirea acestor reguli simple poate îmbunătăți considerabil performanța site-ului dvs. web și experiența utilizatorului.