1. Esileht
  2. Tehniline
  3. Apache
  4. Näiteid .htaccess faili rewrite reeglitest

Näiteid .htaccess faili rewrite reeglitest

Kataloogilistingu lubamine

Options +Indexes

Teatud IP-aadressi(de) blokeerimine

deny from 12.34.45.78 1.2.3.4

Päringute lubamine vaid ühelt konkreetselt IP-aadressilt

order deny,allow
deny from all
allow from 12.34.56.78

Teatud USER_AGENT-i (näiteks paha Boti) blokeerimine

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} PahaBot
RewriteRule .* - [F]

Mitme USER_AGENT-i blokeerimine

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} PahaBot [OR]
RewriteCond %{HTTP_USER_AGENT} KuriScanner [OR]
RewriteCond %{HTTP_USER_AGENT} Võlts
RewriteRule .* - [F]

Keela ligipääs kindlale failile

<Files "keelatud.php">
    Order Allow,Deny
    Deny from all
</Files>

Lihtne ümbersuunamine

# Peadomeeni ümbersuunamine
Redirect 301 / https://www.example.ee/

# Aegunud lingi ümbersuunamine
Redirect 301 /aegunud-lk https://www.example.ee/uus-lk

Kõikide päringute suunamine ühe domeeni peale

RewriteEngine on
RewriteCond %{HTTP_HOST} !^(?:www\.)?example.ee$ [NC]
RewriteRule .* http://www.example.ee%{REQUEST_URI} [R=301,L]

Ilma www-ta algava domeeni suunamine www-ga algava peale

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.ee$ [NC]
RewriteRule (.*) https://www.example.ee/$1 [NC,R=301,L]

www-ga algava domeeni suunamine ilma www-ta domeeni peale

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.ee$ [NC]
RewriteRule (.*) https://example.ee/$1 [NC,R=301,L]

Valitud ressurside (font’id, svg, css ja js failid) lubamine mõnelt teiselt, serveri omast erinevalt domeenilt (Cross-Origin Resource Sharing (CORS))

<IfModule mod_headers.c>
    <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|svg|font.css|css|js)$">
        Header set Access-Control-Allow-Origin "https://www.example.ee"
    </FilesMatch>
</IfModule>

HSTS, Content Security Policy jt turvalisusega seotud päised

<IfModule mod_headers.c>
    Header set Strict-Transport-Security "max-age=31536000;includeSubDomains;preload" env=HTTPS
    
    Header set X-Frame-Options "DENY"
    Header set Content-Security-Policy "default-src https:; script-src https: 'unsafe-inline'; style-src https:'unsafe-inline'"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Content-Type-Options nosniff
</IfModule>

Ainult Eesti IP aadressidelt päringute lubamine

order deny,allow
deny from all
allow from env=DZSP_IS_ESTONIAN_IP

Ainult Euroopa liidu riikidest ligipääsu lubamine

SetEnvIf MM_COUNTRY_CODE ^(AT|BE|BG|CZ|CY|DE|DK|EE|EL|ES|FI|FR|HR|HU|IE|IT|LT|LU|LV|MT|NL|PL|PT|RO|SE|SI|SK|UK) EUROLIIT
order deny,allow
deny from all
allow from env=EUROLIIT

Ühe konkreetse riigi blokeerimine, näiteks Hiina (CN).

SetEnvIf MM_COUNTRY_CODE ^(CN) BlokeeritudRiik
Deny from env=BlokeeritudRiik

Ühe riigi (Soome) kasutajate suunamine teisele domeenile.

SetEnvIf MM_COUNTRY_CODE ^(FI) FINLAND
RewriteCond %{ENV:FINLAND} ^1$
RewriteRule .* http://www.example.fi%{REQUEST_URI} [R=301,L]

Serverites on kasutusel GeoLite2 andmebaas, mis on loodud MaxMind poolt ja mille saab alla laadida aadressilt https://www.maxmind.com.

Hooldusrežiim – suuna ajutiselt kõik päringud hooldusest teavitavale leheküljele

# Lisa vajadusel enne RewriteRule'i URI-d, mis peavad läbi pääsema
# Lisa oma internetiühenduse IP-aadress
RewriteCond %{REQUEST_URI} !/hooldus.html [NC]
RewriteCond %{REQUEST_URI} !/hooldus\.css [NC]
RewriteCond %{REQUEST_URI} !/hooldus\.jpg [NC]
RewriteCond %{REMOTE_ADDR} !90\.100\.100\.100
RewriteRule .* https://example.ee/hooldus.html [L]

PHP käivitamise keelamine ennetamaks turvaprobleeme

Options -ExecCGI
RemoveType .php .php3 .phtml .inc
RemoveHandler .php .php3 .phtml .inc

<FilesMatch "\.(?i:php|php3|phtml|inc)$">
    Require all denied
</FilesMatch>

<IfModule mod_php7.c>
    php_flag engine off
</IfModule>
Viimati muudetud 1. mai 2019

Kas sellest artiklist oli abi?

Artiklid samal teemal