Handige .htaccess scripts

Redirecten van urls

Redirect 301 /oldpage.html http://www.example.com/newpage.html
Redirect 301 /oldpage2.html http://www.example.com/folder/

Als deze niet werkt, controleer dan met de onderstaande website waar het mis gaat (plak de volledige .htaccess file en de niet werkende URL in de invulvelden): 
http://htaccess.madewithlove.be/

Houd rekening met:

  • Hoe hoger in de .htacces, hoe eerder deze wordt uitgevoerd. Plak je custom regels dus ook bovenaan indien deze hogere prioriteit hebben.

Redirecten van urls met speciale tekens

Speciale tekens (hexadecimale tekens) als ? # $ % ^ & * in de URL zullen niet werken bij het redirecten. In die gevallen voeg je NE toe aan het eind van de rewrite regel, bijvoorbeeld alle pagina's in de abc map:

RewriteRule ^abc\/(.+)$ http://www.example.com/index.php#first [L,R=301,NE]

Redirect voorbeelden oud domein naar nieuw domein

Redirect is ingesteld op domein dat verwijst van http://www.domeinoud.nl/voorbeeld.html , welke moet redirecten naar https://www.domein.nl/voorbeeld/ Alle andere pagina's moeten uitkomen op de homepage van het nieuwe domein.nl

RewriteEngine on
Options +FollowSymLinks
Redirect 301 /voorbeeld.html https://www.domein.nl/voorbeeld/
RewriteRule (.*) https://www.domein.nl/ [R=301,L]

Als er nog bezoek binnenkomt op oude domeinnaam

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?ouddomein\.nl [NC]
RewriteRule ^(.*)$ http://www.nieuwdomein.nl/$1 [L,R=301,NC]

Redirect van non-www naar www
Als je wilt dat alle bezoekers op jouw www.domein.nl in plaats van op domein.nl uitkomen, gebruik dan in de .htaccess de volgende regels:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domein.nl[NC]
RewriteRule ^(.*)$ https://www.domein.nl/$1 [L,R=301]

Alle verkeer omleiden naar https
Zet in je .htaccess de volgende code bovenaan:

RewriteEngine on
RewriteRule ^.well-known - [L]
RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]

Redirect na wijziging domeinnaam van website
Indien je site blijft staan, maar moet luisteren naar een andere domeinnaam gebruik dan de volgende code in je .htaccess

RewriteEngine On
RewriteRule ^(.*)$ https://www.nieuwdomein.nl/$1 [L,R=301,NC]

Redirect niet bestaande links naar index.php

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

PHP timeout op je account override (let op, verwijder dit altijd na gebruik!)

RewriteEngine On
RewriteRule  .* - [E=noabort:1, E=noconntimeout:1]

Force HTTPS met HSTS forcering

RewriteEngine on
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]


# Note: It’s also recommended to enable HTTP Strict Transport Security (HSTS)
# on your HTTPS website to help prevent man-in-the-middle attacks.
# See https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security
<IfModule mod_headers.c>
    # Remove "includeSubDomains" if you don't want to enforce HSTS on all subdomains
    Header always set Strict-Transport-Security "max-age=31536000;includeSubDomains"
</IfModule>

Tijdzone aanpassen
Voeg de volgende regel toe en wijzig de Region/Zone in bijvoorbeeld Europe/Amsterdam. 

php_value date.timezone 'Region/Zone'

Ook aan te passen in cPanel > Software > Select PHP Version > Switch to PHP Options: date.timezone

Memory limit verhogen

Plaats de volgende regel in de .htaccess en vervang de xxxM door het gewenste aantal Mb's. 

php_value memory_limit xxxM

Ook aan te passen in cPanel > Software > Select PHP Version > Switch to PHP Options: memory_limit

Bestandslijst / index zichtbaar maken
Plaats onderstaande snippet in de .htaccess file in de betreffende submap.

Options +Indexes

Redirect alias domein naar submap
Om een domein dat als alias toegevoegd is door te sturen naar een map binnen het hoofddomein kun je onderstaande code gebruiken

RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule (.*) https://www.example2.com/submap/ [R=301,L]

Om een domein dat als alias is toegevoegd te tonen in een submap met dat domein:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domein.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domein.com$
RewriteCond %{REQUEST_URI} !submap/
RewriteRule (.*) /submap/$1 [L]

Inloggen WordPress tegenhouden (bijvoorbeeld bij aanval)
De meeste Brute Force aanvallen worden al tegengehouden door de Hoasted Imunify 360 firewall. Als de website aangevallen wordt (brute force op de inlogpagina) kun je zorgen dat de aanvaller een 403 forbidden krijgt. Neem in de .htaccess de volgende regel op:

RewriteRule wp-login.php - [L,F]

Let erop dat je die regel wel weer afblokt indien de aanval gestopt is. Anders kun je zelf niet meer inloggen.

Heeft dit artikel je goed geholpen? Dank voor je feedback! Er is een probleem opgetreden bij het verzenden. Probeer opnieuw.