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.