Ik ben momenteel bezig met het overzetten van een website die ik vroeger in PHP had gemaakt naar een systeem dat aangestuurd is door drupal. Op de website staan artikels die ik via de zelfgeschreven PHP code weergeef zoals ik het wil. De PHP code staat in de root directory en via .htaccess rewrite rules zorg ik ervoor dat mijn urls mooi SEO in orde zijn.
Nu wil ik graag mijn artikels behouden en die nog steeds laten draaien op mijn eigen code. Ik wil echter ook drupal installeren in de root directory, makkelijk op te lossen dacht ik, maar het bleek toch een kleine zoektocht te worden naar een werkende oplossing.
Ik moest 3 stappen uitvoeren om tot een werkende oplossing te komen.
Stap 1: rewrite van clean url naar nieuwe subdirectory
Eerst en vooral, al de reeds bestaande mappen uit de root, die moeten onder een eigen subdirectory /artikels komen te staan, op die manier is mijn root directory leeg en kan ik daar de drupal installatie plaatsen. Alles verzetten en mijn htaccess generator aanpassen zodanig dat die mijn bestaande urls behoud, maar ze intern herschrijft naar de juiste map:
OUD: rewriterule ^sitemap.htm sitemap.php
NIEUW: rewriterule ^sitemap.htm artikels/sitemap.php
Het gevolg van deze actie is dat de bestaande url’s blijven bestaan wat zeker een must is als je je opgenomen pagina’s in google wil behouden. Let wel op, de .htaccess file mag niet mee verhuizen naar de /artikels map, maar moet in de root directory blijven staan.
Stap 2: drupal installeren
Drupal downloaden en installeren. Het downloaden en installeren gaat praktisch vanzelf, met enkele drukken op de knop en het invoeren van een aantal standaard gegevens is mijn website nu voorzien van een drupal installatie. Jammer genoeg heb ik hier nog wat werk aan, instellingen goed zetten en wat content toevoegen voor die klaar is, maar nu ziet iedereen al een onafgewerkte website staan wat niet de bedoeling is, dus snel naar stap3.
Stap 3: Homepage instellen
Tijdens het afwerken en goed instellen van de drupal configuratie wil ik wel nog mijn oude homepage blijven behouden. De website moet eigenlijk nog even blijven draaien zoals hij dat vroeger deed. Ik zit nu echter met een andere structuur en ook mijn homepage zit onder /artikels. Om die op te lossen moet ik de aanvragen van www.mijnsite.be doorsturen naar www.mijnsite.be/artikels en dat kan door de volgende code toe te voegen aan je .htaccess:
rewritecond %{HTTP_HOST} ^(www.)?mijnsite.be$
rewriterule ^(/)?$ artikels/index.php [L]
Wanneer ik nu surft naar www.mijnsite.be zie ik niet langer de drupal installatie maar mijn oude homepage. De url veranderd niet door deze rewriterule dus de website ziet er terug identiek uit als vroeger.
Voortaan zal ik trouwens deze manier van werken altijd gaan gebruiken, ik vind het beter georganiseerd wanneer alles in zijn eigen map zit, wanneer ik een nieuwe site start zal ik direct alles in een map zetten zodanig dat alles makkelijk uitbreidbaar is in de toekomst.