.htaccess redirects instellen
Hoewel cPanel zelf ook een tool heeft om redirects direct vanuit deze omgeving in te stellen, kan het soms handig zijn om deze handmatig in het .htaccess bestand te plaatsen.
.htaccess bestand openen
Om het .htaccess bestand te openen kun je onderstaande stappen volgen:
- Log in op het cPanel account
- Klik links in het menu op de File Manager
- Navigeer naar de map waar het domein in uit komt. Meestal is dit de public_html map, of in het geval van een subdomein de map van het subdomein zelf.
- Klik rechtsboven op meer opties > verborgen bestanden tonen
- Selecteer het .htaccess bestand en klik bovenin op 'Edit/Bewerken'
Is er nog geen .htaccess bestand aanwezig? Dan kun je deze zelf aanmaken door een nieuw bestand toe te voegen met deze naam.
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]
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]