Redirect

Over redirect-methoden wordt heel wat onduidelijke informatie gegeven. Het beste is in ieder geval een serverside oplossing. De javascript methode heeft als (klein) nadeel dat de JavaScript eventueel uitgeschakeld kan zijn. Als nadeel van de meta-refresh methode wordt genoemd dat deze pagina wel in het geheugen van de browser terecht komt en na een klik op de 'terug-knop' komt men ook weer op die redirect-pagina. Als die nu zonder vertraging doorstuurt betekent dat dat de terugknop niet meer werkt.

Dus wat doen we? We plaatsen een .htaccess-file in de map die we niet meer bezocht willen hebben. Daarin plaatsen we de volgende regel:

Redirect 301 / http://doel-pagina.nl

Dit alles slaan we op onder de naam '.htaccess' let op de punt.

Hoe maken we dit bestandje? Dat wil nog wel eens moeilijkheden geven omdat windows altijd een extensie wil. Daar is een hele eenvoudige oplossing voor die blijkbaar erg onbekend is gezien het aantal omslachtige methodes die je zo her en der tegenkomt. Je maakt het .htaccess-file gewoon aan in Kladblok en dan sla je het op met de naam tussen aanhalingstekens. Dat is alles.

Er komen nog enkele lastige problemen bij kijken. hier vond ik de oplossing voor mijn probleem en hier voor een ander. Om met de laatste te beginnen: de browser slaat voor een site dus gewoon op als het een 301 redirect heeft gevonden. Dat zit er dus heel hardnekkig in. De schrijver van dit artikel had als probleem dat heel veel bezoekers nooit meer op de goede site konden komen omdat ze een achterhaalde redirect in de browsers cache hebben opgelopen. Zelf merkte ik dat als ik een fout had gemaakt, dat die niet weg ging door het .htaccess-file te verbeteren. Dan moest je de cache wissen. (in Chrome: Extra/ browsergegevenswissen) Zelf kwam Chrome al met de suggestie om het in de incognito-modus te doen, dan wordt er niets gecached blijkbaar. Goed idee derhalve, hoef je die cache niet steeds te wissen. Die .htaccess-commando's zijn echt onbegrijpelijk. Wat voor syntax heeft die taal? Nu het tweede probleem. Een gewone redirect had als nadeel dat naar de overeenkomstige directory gezocht werd op het nieuwe domein. Dat lukte dus niet want die was er niet. Steeds werd de map van de betreffende oude pagina aan die van de nieuwe vastgemaakt. Op stackoverflow had iemand eerder hetzelfde probleem. Een antwoordgever merkte op dat geen enkele oplossing met redirect voldoet: 'Redirect 301 is all wrong for this. I really wanted RedirectMatch 301 instead.' Tot slot is het nog heel belangrijk waar je het .htaccess-file neerzet. Zelf vond ik het het meest logisch als dat gebeurde in de map die je dus niet meer bezocht wilde hebben. Maar zo gaat dat niet. Het moet blijkbaar in de root en daar geef je aan voor welke map je een redirect wil hebben.