16 februari 2007

Mod_rewrite met PHP!

Mod_rewrite is heel leuk, maar kan soms wel de site vertragen, dan kan je beter de mod_rewrite regelen met PHP.

Stap 1

Maak een .htacces-file aan, met daarin onderstaande code:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [NC,L]

Door deze code zal indien de file of de map niet bestaat alles doorgestuurd worden naar index.php.

Stap 2

In index.php moet je natuurlijk de url gaan uitlezen en parsen, dit kan je met behulp van onderstaande functie doen.

<?php
function parseUrl()
{
// remove trailing slashes
$qryString trim($_SERVER['REQUEST_URI'], '/');
 if(!empty(
$qryString))
{
// split into chunks
return explode('/'$qryString);
}
 else
 {
// no querystring provided, return default page
return array('insert_default_page');
}
}
?>

Uiteraard zal je deze functie aanpassen in functie van je website. Let wel op dat je alle links op je website nu absolute maakt, dus elke link start nu met /

Dit artikel gaat over: , , , . Mod_rewrite met PHP! werd geschreven door Tijs.
Er zijn al 3 reacties.

Reacties

tijs

tijs schreef:
16/02/07

Voor alle duidelijkheid, in deze functie is er geen rekening gehouden met parameters, indien je dit nodig hebt kan je beter de paramaters opsplitsen door middel van een seperator, bijvoorbeeld /p/. Dan kan je in de functie een array returnen met als eerste element een array met daarin het deel voor de paramaters, en de parameters returnen in een tweede element.

Bort

Bort schreef:
16/02/07

Test ik deze avond nog uit, thanks!

Waarom is het met PHP sneller?

Reageer velden gemarkeerd met een sterretje zijn verplicht

*