Ce face Directiva RewriteRule - Definirea regulilor de transformare și redirecționare URL
Directiva RewriteRule este nucleul funcționalității `mod_rewrite`.
Funcționează în 3 pași: compară calea cerută cu `tipar_regex`; dacă se potrivește, înlocuiește calea cu `substitutie`; aplică opțiunile definite între paranteze drepte `[indicatori]`.
Substituția poate fi internă (transparentă pentru utilizator, servind alt fișier fără a schimba adresa din browser) sau externă (redirecționare HTTP 301/302 vizibilă în browser).
Exemple
Exemplul 1: Rescrierea unui URL prietenos (clean URL) către un script PHP intern
Transformă /produs/42 în produs.php?id=42 în mod invizibil.
RewriteEngine On
RewriteRule ^produs/([0-9]+)/?$ produs.php?id=$1 [L,QSA]
Ieșire în terminal
Cererile către /produs/42 vor rula intern scriptul produs.php cu parametrul id=42.
Greșeli frecvente
- Includerea barei oblice de început în fișiere .htaccess (ex: ‘^/produs’ în loc de ‘^produs’); în .htaccess calea relativă nu începe cu ‘/’.
Comenzi înrudite
Directiva RewriteCond - Condiții logice prealabile pentru RewriteRule: Aplică o regulă RewriteRule doar dacă una sau mai multe condiții pe variabile de server sunt îndeplinite.Indicatorii de rescriere [L], [R=301], [NC], [QSA] - Controlul execuției regulilor: Flag-uri plasate la finalul unei reguli RewriteRule pentru a controla oprirea, redirecționarea sau păstrarea parametrilor.Directiva RewriteEngine - Activarea motorului de rescriere URL: Pornește sau oprește motorul de rescriere a adreselor URL furnizat de modulul mod_rewrite.