Mod Rewrite

artikel details Artikel details
In Artikels » SEO
Door BigSmoke
29-12-2007 13:35
Bron
SEO, htaccess
share Share
Toevoegen aan eKudos Toevoegen aan NUjij Toevoegen aan Technorati Toevoegen aan Del.icio.us facebook E-mail naar een vriend Plaatsen/stemmen op MSN Reporter Blig it! Voeg toe op netjes.be
artikels Soortgelijke artikels
Volledig artikel Zoekmachine Optimalisatie...
Volledig artikel Pagerank
Volledig artikel HTML meta tags
Volledig artikel SEO: Google image search
Volledig artikel Keywords bepalen


Adverteren bij Daisycon

Mod rewrite is module in Apache en geeft ons de mogelijkheid om bepaalde url's te herschrijven. Dit alles gebeurd zonder dat de bezoeker hier iets van merkt. Om deze module te laten werken moet jouw server dit ondersteunen. Dit kun je heel eenvoudig nagaan door een nieuwe PHP pagina aan te maken en de volgende code in te geven.

Controleren of Mod_rewrite aanstaat



<?
    phpinfo();
?>

Ga dan na of tussen de Loaded Modules mod_rewrite staat. Is dit zo dan kun je gebruik maken van Mod Rewrite. Is dit niet zo dan moet ik je teleurstellen. Je kan eventueel wel contact opnemen met je host.
mod rewrite

Voordelen van deze module


  • Met deze module kan je de URL's van jouw website zoekmachine vriendelijk maken. Dit houdt in dat er maximaal 1 parameter in de URL voorkomt. Het voordeel is dat je dit kan realiseren zonder grote ingrepen te hoeven doen in je code.
  • De URL's zullen beter onthouden worden door bezoekers en alles ziet er netter uit.


Het bestand


In dit artikel ga ik me beperken tot het maken van zoekmachine vriendlijke URL's. Maar mod_rewrite biedt echter veel meer mogelijkheden. Je kunt er immers Redirects meemaken etc.

We nemen deze url als voorbeeld

http://mijnwebsite.be/index.php?page=tutorials&subcat=php&tutorial=123

Om deze URL zoekmachine vriendelijk te maken zullen we hem zo moeten krijgen.

http://mijnwebsite.be/tutorials/php/123/
of om het helemaal te maken
http://mijnwebsite.be/tutorials/php/123/tutorial_naam.html

Merk op dat de laatste URL de .html extentie heeft. Dit is niet erg, mod_rewrite zal deze url herschrijven dat de .html weg is en naar jouw php pagina linkt.

Maak een nieuw bestand aan en zorg dat je het bij het saven opslaat als .htaccess .

RewriteEngine On
RewriteRule ^tutorials/php/([0-9]+)/tutorial_naam.html index.php?page=tutorials&subcat=php&tutorial=$1

Het ([0-9]+) gedeelte wordt doorgegeven aan de oude url op de plaats waar $1 staat. Dit command betekend dat enkel cijfers zijn toegelaten. Door het plus-teken mag 1 of meerdere keren vorige cijfers voorkomen (dus alle natuurlijke getallen). We kunnen ook meerdere parameters doorgeven.

RewriteEngine On
RewriteRule ^tutorials/(.*)/([0-9]+)/tutorial_naam.html index.php?page=tutorials&subcat=$1&tutorial=$2

Om problemen te voorkomen moet je als volgt te werk gaan.

De URL met het meeste aantal parameters plaats je eerst. Dit omdat een URL met meerdere parameters ook kan doorgaan voor een URL met 1 parameter. Dit zal 404 error pagina's veroorzaken. Maak je .htaccess bestand in deze volgorde en niet in omgekeerde volgorde.


RewriteEngine On
RewriteRule ^index/(.*)/(.*)/(.*)/ index.php?page=$1&cat=$2&subcat=$3
RewriteRule ^index/(.*)/(.*)/ index.php?page=$1&cat=$2
RewriteRule ^index/(.*)/ index.php?page=$1 

 

Er bestaat tevens een Cheat sheet voor Mod Rewrite. Hierop staan andere manieren om URL's te herschrijven en er staat ook op wat je nog allemaal met Mod_rewrite kan.




Er zijn nog geen reacties op dit artikel.
Om op dit artikel te reageren dient u een account aan te maken.


webhog