Directiva RewriteCond în OpenLiteSpeed

Definește condiții bazate pe variabile de server care trebuie îndeplinite pentru executarea unei reguli.

Sintaxă
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.exemplu\.ro$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Ce face Directiva RewriteCond

Directiva RewriteCond specifică o condiție de testare care se aplică regulii RewriteRule imediat următoare. O regulă se execută doar dacă toate condițiile asociate sunt adevărate.

Permite inspectarea variabilelor interne precum %{HTTPS}, %{HTTP_HOST}, %{HTTP_USER_AGENT}, %{REQUEST_URI} sau atribute din sistemul de fișiere (!-f = nu este fișier existent, !-d = nu este director existent).

OpenLiteSpeed evaluează aceste expresii regulare cu performanțe foarte mari datorită motorului PCRE integrat.

Opțiuni și argumente

Opțiune / Parametru Descriere
%{VARIABILA} Variabila de server testată (ex: %{HTTPS}, %{HTTP_HOST}).
CondPattern Tiparul regex sau operatorul de test (ex: !-f, !=on, ^www\.).
[NC] Case-insensitive (ignoră diferențele între majuscule și minuscule).
[OR] Operator logic SAU (leagă condiția curentă de următoarea).

Ce returnează

Valoare booleană (adevărat/fals) ce decide dacă se continuă execuția RewriteRule.

Exemple

Exemplul 1: Blocarea cererilor venite de la un user-agent malițios

Returnează codul 403 Forbidden dacă vizitatorul folosește un scanner periculos.

RewriteCond %{HTTP_USER_AGENT} (sqlmap|nikto|wpscan) [NC]
RewriteRule .* - [F,L]

Greșeli frecvente

  • Omiterea caracterului de scăpare (backslash) înaintea punctului în expresii regulare (de exemplu scrierea ‘www.exemplu.ro’ în loc de ‘www\.exemplu\.ro’).
  • Confundarea variabilei %{REQUEST_URI} cu %{QUERY_STRING} (parametrii după semnul de întrebare nu se găsesc în REQUEST_URI).

Comenzi înrudite