Een Redirect maken via .htaccess
Iedere webmaster verandert wel eens de structuur van zijn site. Bij het groeien van de inhoud op een site is het bijna onvermijdelijk dat bepaalde pagina's of directories van locatie veranderen. Als je wilt dat je bezoekers de nieuwe locatie van de pagina's makkelijk kunnen vinden dan zul je een redirect moeten gebruiken.
Zo'n redirect kun je op verschillende manieren maken. Twee manieren hebben we al eens eerder behandeld, namelijk de meta-refresh redirect, de eenvoudigste manier, en de JavaScript redirect.
In dit artikel gaan we een andere manier van redirecten behandelen: de redirect via het .htaccess-bestand.
N.B. Ik ga er in de rest van dit artikel van uit dat je site op een Apache webserver
draait!
Voordat je leert hoe je de redirect met .htaccess kunt maken, lees je eerst waarom dit de meest effectieve manier van redirecten is.
Waarom redirecten via .htaccess?
Een redirect via het .htaccess-bestand is om twee redenen de meest effectieve manier van redirecten:
- Het is een server-side redirect. Daardoor zal de redirect bij alle browsers en andere user-agents (bijvoorbeeld spiders van zoekmachines) werken. Dit in tegenstelling tot client-side redirects, zoals bijvoorbeeld via JavaScript.
- Het is via .htaccess veel eenvoudiger om redirects te maken voor grote hoeveelheden pagina's en complete directories. Het bespaart dus tijd.
De code
Open je .htaccess bestand, of maak dit bestand aan. Als je niet (meer) precies weet hoe je dit bestand maakt, lees dan nog even ons eerdere artikel: Eigen error pages maken (onder het kopje "Het .htaccess bestand maken").
Plaats de volgende code in het .htaccess-bestand:
Redirect /directorynaam http://www.domeinnaam.nl/nieuwedirectorynaam
Verander "directorynaam" in de code in de naam van de directory die je hebt verplaatst en "nieuwedirectorynaam" in de nieuwe naam van die directory.
Nu moet je alleen het .htaccess-bestand nog uploaden. Alle aanvragen voor http://www.domeinnaam/directorynaam/ zullen nu worden doorgestuurd naar http://www.domeinnaam.nl/nieuwedirectorynaam/ .
Dus: als iemand het bestand http://www.domeinnaam.nl/directorynaam/bestand.html opvraagt, dan wordt hij nu automatisch doorgestuurd naar http://www.domeinnaam.nl/nieuwedirectorynaam/bestand.html.
Je ziet dat dit erg handig is. Je hoeft nu maar één regeltje aan je .htaccess-bestand toe te voegen om alle aanvragen voor pagina's in een oude directory naar de nieuwe locatie door te sturen. Bij een "meta-refresh"-redirect zou je een code in alle pagina's moeten opnemen!
Natuurlijk kun je op dezelfde manier ook redirects maken voor individuele pagina's.
Status codes
Tot slot nog iets over de verschillende status codes. Je kunt via status commando's bepaalde HTTP status codes laten terugsturen door de webserver.
Als je geen aparte status code opgeeft dan zal de redirect worden aangemerkt als "temporary" (tijdelijk) (HTTP status 302). Door de commando's krijgen browsers en andere user agents meer informatie over welk soort redirect het hier betreft.
Dit zijn de belangrijkste status commando's:
- permanent
- Een permanente redirect code wordt teruggestuurd (301) om aan te geven dat de opgevraagde pagina/directory permanent is verplaatst.
- temp
- Een tijdelijke redirect status wordt teruggestuurd (302). Dit is de standaardinstelling.
- seeother
- Een "See Other" status wordt teruggestuurd (303) om aan te geven dat de opgevraagde pagina/directory is vervangen.
- gone
- Een "Gone" status wordt teruggestuurd (410). Hiermee wordt aangegeven dat de pagina/directory verwijderd is. Je moet nu geen URL opgeven in het .htaccess-bestand. Het bestand/de directory bestaat immers niet meer.
Een paar voorbeelden hoe de code in het .htaccess-bestand wordt bij deze status commando's:
Permanente redirect:
Redirect permanent /directorynaam http://www.domeinnaam.nl/nieuwedirectorynaam
See Other status:
Redirect 303 /directorynaam http://www.domeinnaam.nl/nieuwedirectorynaam
Gone status:
Redirect gone /directorynaam
Je ziet, je kunt in plaats van de commando's (permanent, seeother, etc.) ook de status codes gebruiken (301, 302, etc.) in de code.
Veel succes met het maken van je eigen redirects! Door te werken met .htaccess kun je in ieder geval een hoop tijd besparen.
Homepage-Maken Tip
De makkelijkste manier om je eigen website te maken?
Dat is via een website bouwer als Weebly. Hiermee kun je eenvoudig via je browser door middel van drag-en-drop een website bouwen. Je kunt volledig gratis beginnen met 500MB webruimte voor je site. Zo nodig kun je een betaald pakket nemen met eigen domeinnaam, "onbeperkte" opslag (fair use policy) en e-commerce mogelijkheden.
Weebly is daarom een prima optie als je snel een website in elkaar wilt zetten. Kennis van HTML of het installeren van een eigen content management systeem is niet nodig bij Weebly.