---
title: "htaccess rewrite säännöt – esimerkkejä"
canonical_url: "https://www.speedzone.fi/tuki/kb/esimerkkeja-htaccess-rewrite-saannoista/"
post_type: "ht_kb"
published: "2024-06-06T11:56:33+00:00"
modified: "2025-10-17T12:34:58+00:00"
language: "fi"
author: "rauno"
taxonomies:
  ht_kb_category:
    - name: "Tekninen"
      url: "https://www.speedzone.fi/tuki/kb-categories/tekninen/"
  ht_kb_tag:
    - name: "htaccess"
      url: "https://www.speedzone.fi/tuki/kb-tags/htaccess-fi/"
---

# htaccess rewrite säännöt – esimerkkejä

.htaccess-tiedosto on tehokas työkalu, jonka avulla voit määrittää asetuksia hakemistokohtaisesti Apache-palvelimilla isännöidyille kotisivuille. Tässä artikkelissa tutkimme, kuinka htaccess rewrite säännöt toimivat, ja annamme esimerkkejä.

## Hakemistojen sisällön näytön salliminen

```
Options +Indexes
```

## Tiettyjen IP-osoitteiden estäminen

```
<RequireAll>
    Require all granted
    Require not ip 1.2.3.4
    Require not ip 12.34.56.78
</RequireAll>

```

## Kyselyjen salliminen yhdestä tietystä IP-osoitteesta

```
Require ip 1.2.3.4
```

## Tietyn USER\_AGENT:in estäminen (esimerkiksi huonon botin)

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

## Useiden USER\_AGENT:ien estäminen

```
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} BadBot [OR]
RewriteCond %{HTTP_USER_AGENT} EvilScanner [OR]
RewriteCond %{HTTP_USER_AGENT} Fake
RewriteRule .* - [F]
```

## Tiettyyn tiedostoon pääsyn estäminen

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

```

## Yksinkertainen uudelleenohjaus

```
# Redirecting the main domain
Redirect 301 / https://www.example.fi/

# Redirecting an expired link
Redirect 301 /expired-page https://www.example.fi/new-page
```

## Kaikkien kyselyjen uudelleenohjaus yhteen verkkotunnukseen

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

## Ilman www-osoitetta verkkotunnuksen uudelleenohjaus verkkotunnukseen, jossa on www

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

tai:

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

## Verkkotunnuksen, jossa on www, uudelleenohjaus verkkotunnukseen, jossa ei ole www-osoitetta

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

tai:

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

## Tiettyjen resurssien (fontti, svg, css jne.) salliminen toisesta verkkotunnuksesta kuin palvelimelta. (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.fi"
    </FilesMatch>
</IfModule>

```

## HSTS, Content Security Policy ja muut turvallisuuteen liittyvät otsikot

```
<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>
```

## Kyselyjen salliminen vain suomalaisista IP-osoitteista

```
order deny,allow
deny from all
allow from env=DZSP_IS_Finnish_IP
```

## Pääsyn salliminen vain Euroopan unionin maista

```
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) EUROPEANUNION
order deny,allow
deny from all
allow from env=EUROPEANUNION
```

## Tietyn maan estäminen, esim. Kiina (CN)

```
SetEnvIf MM_COUNTRY_CODE ^(CN) BlockedCountry
Deny from env=BlockedCountry
```

## Käyttäjien uudelleenohjaus tietystä maasta (Suomi) toiseen verkkotunnukseen

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

Palvelimemme käyttävät MaxMindin luomaa GeoLite2-tietokantaa, jonka voi ladata osoitteesta [www.maxmind.com](https://www.maxmind.com).

## Ylläpitotila – ohjaa kaikki kyselyt tilapäisesti huoltoilmoitussivulle

```
# If necessary, add certain URLs that must go through first before RewriteRule
# Add your network's IP-address
RewriteCond %{REQUEST_URI} !/maintenance.html [NC]
RewriteCond %{REQUEST_URI} !/maintenance\.css [NC]
RewriteCond %{REQUEST_URI} !/maintenance\.jpg [NC]
RewriteCond %{REMOTE_ADDR} !90\.100\.100\.100
RewriteRule .* https://example.fi/maintenance.html [L]
```

## PHP:n suorittamisen poistaminen käytöstä tietoturvaongelmien estämiseksi

```
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>

```

## **Rewrite proxy käyttö**

Esimerkiksi alihakemiston example.com/proxy/ sisällön näyttäminen pääverkkotunnuksessa example.com

```
RewriteRule "^proxy/(.*)$" "http://www.example.com/$1" [P,L]

```

HUOM! Välityspalvelinkyselyjä voidaan tehdä vain HTTP-yhteyksille ja jokaisesta kyselystä lisätään ilmoitus verkkopalvelimen virhelokiin.

Lisäksi .htaccess rewrite rules esimerkeille lue myös “[301 redirect with .htaccess file](https://www.speedzone.fi/tuki/kb/301-uudelleenohjaus-htaccess-tiedostolla/)“.
