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.