Exemple de reguli .htaccess
Variante gata făcute: copiază codul direct sau deschide exemplul în generator și modifică-l după nevoie.
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domeniu-vechi\.ro$ [NC]
RewriteRule ^(.*)$ https://www.domeniu-nou.ro/$1 [L,R=301]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<RequireAll>
Require all granted
Require not ip 203.0.113.45
</RequireAll>
AuthType Basic
AuthName "Zonă protejată"
AuthUserFile /home/utilizator/.htpasswd
Require valid-user
Redirect 301 /despre.html /despre-noi/
Redirect 301 /blog/articol-vechi/ /blog/articol-nou/
Cum folosești generatorul de .htaccess
- Bifează Forțează HTTPS și alege ce faci cu www: lași cum e, redirecționezi spre www sau spre varianta fără www.
- Scrie redirecționările 301 câte una pe rând, în forma
/vechi /nou. - Bifează compresia GZIP (mod_deflate), cache-ul în browser (mod_expires) și dezactivarea listării directoarelor; completează calea paginii 404.
- Pentru WordPress, bifează blocarea accesului la
wp-config.phpși laxmlrpc.php, apoi copiază codul. Totul se generează în browser; nu se trimite nimic către server.
Unde pui regulile
Fișierul .htaccess funcționează doar pe Apache și LiteSpeed. Pe Nginx nu are efect; acolo regulile se scriu în configurația serverului. Pe WordPress, nu modifica blocul dintre # BEGIN WordPress și # END WordPress, pentru că îl rescrie WordPress. Pune regulile tale deasupra lui.
# Forțează HTTPS și varianta fără www
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
Redirect 301 /pagina-veche/ /pagina-noua/
Options -Indexes
ErrorDocument 404 /404.html
# BEGIN WordPress
# ... regulile WordPress rămân neatinse
# END WordPress
301 sau 302
301 înseamnă mutare permanentă: motoarele de căutare transferă adresa veche spre cea nouă, iar browserele țin minte redirecționarea. 302 este temporară. Pentru schimbări definitive de adresă folosește 301, dar testează-le întâi, pentru că browserul păstrează un 301 greșit și după ce l-ai corectat.
Testează după fiecare modificare
O greșeală de sintaxă sau un modul lipsă dă eroarea 500 pe tot site-ul. Păstrează o copie a fișierului vechi, adaugă regulile pe rând și reîncarcă site-ul după fiecare. Blocurile generate pentru GZIP și cache sunt puse în <IfModule>, ca să nu strice nimic dacă modulul lipsește.
Întrebări frecvente
De ce nu se vede fișierul .htaccess?
Numele care încep cu punct sunt ascunse. În managerul de fișiere al hostingului sau în clientul FTP activează afișarea fișierelor ascunse.
Am primit eroarea 500 după modificare. Ce fac?
Pune înapoi copia veche a fișierului, apoi adaugă regulile una câte una ca să găsești linia problematică. Comenzile de bază pentru server găsești în Învață Linux.